From d41f780d2e9b95259d268edaaeeddba929da5887 Mon Sep 17 00:00:00 2001 From: Yuri Tatishchev Date: Tue, 14 Apr 2026 12:29:27 -0700 Subject: [PATCH] lab14: init --- lab14/typed-semantics.pdf | Bin 0 -> 34552 bytes lab14/typed-semantics.typ | 92 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 lab14/typed-semantics.pdf create mode 100644 lab14/typed-semantics.typ diff --git a/lab14/typed-semantics.pdf b/lab14/typed-semantics.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1a6206cf4029215d76c31baca1c0ebaf87fae995 GIT binary patch literal 34552 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