Documentation

VerifiedCompiler.Relation

inductive Relation.TraceReflGen {α : Sort u_1} {ε : Type u_2} [Monoid ε] (R : αεαProp) :
αεαProp
Instances For
    inductive Relation.TraceTransGen {α : Sort u_1} {ε : Type u_2} [Monoid ε] (R : αεαProp) :
    αεαProp
    Instances For
      theorem Relation.TraceTransGen.no_rel {α : Sort u_1} {ε : Type u_2} [Monoid ε] {R : αεαProp} {x y : α} {a : ε} (h : ∀ (y : α) (a : ε), ¬R x a y) :
      theorem Relation.TraceTransGen.trans {α : Sort u_1} {ε : Type u_2} [Monoid ε] {R : αεαProp} {x y z : α} {a a' : ε} :
      TraceTransGen R x a yTraceTransGen R y a' zTraceTransGen R x (a * a') z
      inductive Relation.TraceReflTransGen {α : Sort u_1} {ε : Type u_2} [Monoid ε] (R : αεαProp) :
      αεαProp
      Instances For
        theorem Relation.TraceReflTransGen.single {α : Sort u_1} {ε : Type u_2} [Monoid ε] (R : αεαProp) {x : α} {a : ε} (y : α) :
        R x a yTraceReflTransGen R x a y
        theorem Relation.TraceReflTransGen.no_rel_to_eq {α : Sort u_1} {ε : Type u_2} [Monoid ε] {R : αεαProp} {x y : α} {a : ε} (h₁ : ∀ (y : α) (a : ε), ¬R x a y) (h₂ : TraceReflTransGen R x a y) :
        x = y
        theorem Relation.TraceReflTransGen.to_trans_gen {α : Sort u_1} {ε : Type u_2} [Monoid ε] {R : αεαProp} {x y z : α} {a a' : ε} :
        R x a yTraceReflTransGen R y a' zTraceTransGen R x (a * a') z
        theorem Relation.TraceReflTransGen.trans {α : Sort u_1} {ε : Type u_2} [Monoid ε] {R : αεαProp} {x y z : α} {a a' : ε} :
        TraceReflTransGen R x a yTraceReflTransGen R y a' zTraceReflTransGen R x (a * a') z
        theorem Relation.TraceTransGen.to_refl_trans_gen {α : Sort u_1} {ε : Type u_2} [Monoid ε] {R : αεαProp} {x y : α} {a : ε} :
        TraceTransGen R x a yTraceReflTransGen R x a y
        theorem Relation.TraceReflTransGen.tail {α : Sort u_1} {ε : Type u_2} [Monoid ε] {R : αεαProp} {x y z : α} {a a' : ε} :
        TraceReflTransGen R x a yR y a' zTraceReflTransGen R x (a * a') z
        theorem Relation.TraceReflTransGen.tail_induction_on {α : Sort u_1} {ε : Type u_2} [Monoid ε] {R : αεαProp} {x : α} {motive : (z : α) → (e : ε) → TraceReflTransGen R x e zProp} {z : α} {e : ε} (h : TraceReflTransGen R x e z) (refl : motive x Trace.τ ) (tail : ∀ {y z : α} {e₁ e₂ : ε} (h : TraceReflTransGen R x e₁ y) (h' : R y e₂ z), motive y e₁ hmotive z (e₁ * e₂) ) :
        motive z e h
        def Relation.iComp {α : Sort u_1} {β : Sort u_2} {δ : Sort u_3} {ι : Type u_4} {ι' : Type u_5} (R : ιαβProp) (R' : ι'βδProp) :
        ι × ι'αδProp
        Equations
        Instances For
          theorem Relation.flip_icomp {α : Sort u_1} {β : Sort u_2} {δ : Sort u_3} {ι : Type u_4} {ι' : Type u_5} {R : ιαβProp} {R' : ι'βδProp} :
          inductive Relation.Eventually {α : Type u_1} (R : αSet αProp) :
          αSet αProp

          Eventually R x P is the proposition stating that:

          • All possible R-chains from x are safe (do not get stuck).
          • All possible R-chains from x eventually reach a value satisfying P.
          Instances For
            theorem Relation.Eventually.wellformed {α : Type u_1} (R : αSet αProp) (R_wf : ∀ (x : α) (P : Set α), R x PP ) (x : α) (P : Set α) :
            Eventually R x PP
            theorem Relation.Eventually.step_chained {α : Type u_1} {x : α} {R : αSet αProp} {P : Set α} (h : R x {y : α | Eventually R y P}) :
            theorem Relation.Eventually.cut {α : Type u_1} {x : α} {P : Set α} (P' : Set α) {R : αSet αProp} (h : Eventually R x P') (h' : yP', Eventually R y P) :
            theorem Relation.Eventually.cut_chained {α : Type u_1} {x : α} {R : αSet αProp} {P : Set α} (h : Eventually R x {y : α | Eventually R y P}) :
            inductive Relation.Eventually? {α : Type u_1} (R : αSet αProp) :
            αSet αProp

            Eventually? R x P is the proposition stating that:

            • All possible R-chains from x that are R-safe eventually reach a value satisfying P.
            Instances For
              theorem Relation.Eventually?.wellformed {α : Type u_1} (R : αSet αProp) (x : α) (P : Set α) :
              Eventually? R x PP