 31 Jan, 2018 2 commits


Dan Frumin authored

Dan Frumin authored

 28 Jan, 2018 1 commit


Dan Frumin authored

 15 Jan, 2018 1 commit


Dan Frumin authored
We define a stronger rule `related_bind_up`, in which there is a baked in semantic type `R`. The idea here is that we don't actually require the expressions that we bind to have the same syntactic type. ``` {E;R::Δ;⤉Γ} ⊨ e1 ≤log≤ e2 : τ ∗ (∀ vv, ⟦ τ ⟧ (R::Δ) vv ∗ {E;Δ;Γ} ⊨ K[v1] ≤log≤ K'[v2] : τ') ____________________________________________________________ {E;Δ;Γ} ⊨ K[e1] ≤log≤ K'[e2] : τ' ``` We can then use `bin_log_related_weaken_2` to prove the original binding rule. The advantages of the new rule is that it allows us to prove the following compatibility rule for seq: ``` {E;(R::Δ);⤉Γ} ⊨ e1 ≤log≤ e1' : τ1 ∗ {E;Δ;Γ} ⊨ e2 ≤log≤ e2' : τ2 ∗ {E;Δ;Γ} ⊨ (e1;; e2) ≤log≤ (e1';; e2') : τ2. ``` The idea here is that we can also pick any *semantic* type to related e1 and e1'. For instance, if both e1 and e1' are expressions of type Nat then it is not necessarily the case that we can relate them at that type  they might reduce to two different numerals  but it *should* be the case that we can relate their effects, if it makes sense. E.g. ((#l < #1;; #0) ;; e) ≤ ((#l < #1;; #1) ;; e)

 07 Dec, 2017 1 commit


Dan Frumin authored
 Notation for types  Notation for pack and unit  Better (?) levels for the relational judgement

 04 Dec, 2017 1 commit


Dan Frumin authored
Now with one rule primitive we can prove several instances that allows us to eliminate  Fancy updates  Basic updates  Laters

 01 Dec, 2017 2 commits


Dan Frumin authored

Dan Frumin authored
{E,E;Δ,Γ} ⊨ ... => {E;Δ,Γ} ⊨ ... {⊤,⊤;Δ,Γ} ⊨ ... => {Δ,Γ} ⊨ ...

 27 Nov, 2017 1 commit


Dan Frumin authored

 07 Nov, 2017 1 commit


Dan Frumin authored
`decide` works much better because of the general lemmas and tacitcs

 23 Oct, 2017 1 commit


Dan Frumin authored

 05 Oct, 2017 1 commit


Dan Frumin authored

 28 Sep, 2017 2 commits


Dan Frumin authored

Dan Frumin authored

 20 Sep, 2017 1 commit


Dan Frumin authored

 16 Sep, 2017 1 commit


Dan Frumin authored

 09 Sep, 2017 1 commit


Robbert Krebbers authored

 06 Sep, 2017 2 commits


Dan Frumin authored

Dan Frumin authored

 05 Sep, 2017 1 commit


Dan Frumin authored

 31 Aug, 2017 1 commit


Dan Frumin authored

 29 Aug, 2017 1 commit


Dan Frumin authored

 28 Aug, 2017 1 commit


Dan Frumin authored
 Define several versios of bind and return for the relational interpretation  Use those operations to prove some compatibility lemmas without unfolding the definitions  Get rid of the definition unfolding in a part of the stack refinement proof

 22 Aug, 2017 1 commit


Dan Frumin authored
+ add some discussion in comments.org

 21 Aug, 2017 1 commit


Dan Frumin authored

 17 Aug, 2017 1 commit


Dan Frumin authored
 Use the type of literals in `val`  Notation for `match`  "Better" coercions

 16 Aug, 2017 1 commit


Dan Frumin authored

 15 Aug, 2017 2 commits


Dan Frumin authored
 Add more binary ops to the language  An example refinement for module types

Dan Frumin authored
Modify the logical relation judment to include an environment Δ that contains a list of semantic types to interpret free type variables.

 14 Aug, 2017 2 commits


Dan Frumin authored
 Change the types in the examples slightly  Use notations in the examples  Modify some tactics to make the proofs more smooth

Dan Frumin authored

 07 Aug, 2017 1 commit


Dan Frumin authored

 19 Jul, 2017 1 commit


Dan Frumin authored
In the interpretation of recursive types

 04 Jul, 2017 2 commits


Dan Frumin authored
 Remove commented out code  Pull std++ related lemmas into a separate file

Dan Frumin authored
Following the advice of Amin Timany generalize all the compatibility lemmas at the same time by declaring a mask E in a Section.

 03 Jul, 2017 1 commit


Dan Frumin authored
We are switich away from De Bruijn indices because 1) it's hard to read terms with De Bruijn indices 2) they are making lots of things slower

 06 May, 2017 1 commit


Dan Frumin authored
And improve the proof of the fundamental property

 03 May, 2017 1 commit


Dan Frumin authored

 18 Apr, 2017 1 commit


Dan Frumin authored

 11 Apr, 2017 1 commit


Dan Frumin authored
