Documentation

MasterThesis.Compiler.Compiler_v2

Compiler for LOOP language, version 2 #

Equations
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem Compiler.eq_states_idents_no_fail {σ : LOOP.Store} {τ : SCORE.Store} {P : LOOP.Com} {Q : SCORE.Com} {ids : Finset Ident} :
      LOOP.eval P (some σ) ∼[ids] SCORE.eval Q (some τ)(∃ (σ' : LOOP.Store), LOOP.eval P (some σ) = some σ') ∃ (τ' : SCORE.Store), SCORE.eval Q (some τ) = some τ'
      theorem Compiler.eq_states_idents_update {σ : LOOP.Store} {τ : SCORE.Store} {ids : Finset Ident} (x : Ident) (v : ) :
      some σ ∼[ids] some τsome (σ[x v]) ∼[ids] some (τ[x v :: τ x])
      theorem Compiler.eq_states_idents_update_right {σ : LOOP.Store} {τ : SCORE.Store} {ids : Finset Ident} {x : Ident} {l : List } :
      some σ ∼[ids] some τxidssome σ ∼[ids] some (τ[x l])
      theorem Compiler.v2.ev_invariant {τ : SCORE.Store} {τ' : SCORE.Store} {ev : Ident} {P : LOOP.Com} (h_ids : evP.ids) :
      (τ ev).head? = some 0SCORE.eval (Compiler.v2.l2s.l2s' ev P) (some τ) = some τ'(τ' ev).head? = some 0
      theorem Compiler.v2.ev_inariant_ASN {τ : SCORE.Store} {τ' : SCORE.Store} {x : Ident} {y : Ident} {ev : Ident} (h_ids : ev(LOOP.Com.ASN x y).ids) :
      (τ ev).head? = some 0SCORE.eval (Compiler.v2.l2s.l2s' ev (LOOP.Com.ASN x y)) (some τ) = some τ'(τ' ev).head? = some 0
      theorem Compiler.v2.soundness'_ext {σ : LOOP.Store} {τ : SCORE.Store} {ev : Ident} {ext : Finset Ident} (P : LOOP.Com) :
      evP.ids ext(τ ev).head? = some 0some σ ∼[P.ids ext] some τLOOP.eval P (some σ) ∼[P.ids ext] SCORE.eval (Compiler.v2.l2s.l2s' ev P) (some τ)
      theorem Compiler.v2.soundness_ext {s : LOOP.State} {t : SCORE.State} {ev : Ident} {ext : Finset Ident} (P : LOOP.Com) :
      evP.ids exts ∼[P.ids ext] tLOOP.eval P s ∼[P.ids ext] SCORE.eval (Compiler.v2.l2s ev P) t
      theorem Compiler.v2.soundness {s : LOOP.State} {t : SCORE.State} {ev : Ident} (P : LOOP.Com) :
      evP.idss ∼[P.ids] tLOOP.eval P s ∼[P.ids] SCORE.eval (Compiler.v2.l2s ev P) t