inductive
Relation.TraceReflGen
{α : Sort u_1}
{ε : Type u_2}
[Monoid ε]
(R : α → ε → α → Prop)
:
α → ε → α → Prop
- refl {α : Sort u_1} {ε : Type u_2} [Monoid ε] {R : α → ε → α → Prop} {x : α} : TraceReflGen R x Trace.τ x
- single {α : Sort u_1} {ε : Type u_2} [Monoid ε] {R : α → ε → α → Prop} {x y : α} {a : ε} : R x a y → TraceReflGen R x a y
Instances For
inductive
Relation.TraceTransGen
{α : Sort u_1}
{ε : Type u_2}
[Monoid ε]
(R : α → ε → α → Prop)
:
α → ε → α → Prop
- single {α : Sort u_1} {ε : Type u_2} [Monoid ε] {R : α → ε → α → Prop} {x y : α} {a : ε} : R x a y → TraceTransGen R x a y
- head {α : Sort u_1} {ε : Type u_2} [Monoid ε] {R : α → ε → α → Prop} {x y z : α} {a a' : ε} : R x a y → TraceTransGen R y a' z → TraceTransGen R x (a * a') z
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)
:
¬TraceTransGen 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 y → TraceTransGen R y a' z → TraceTransGen R x (a * a') z
inductive
Relation.TraceReflTransGen
{α : Sort u_1}
{ε : Type u_2}
[Monoid ε]
(R : α → ε → α → Prop)
:
α → ε → α → Prop
- refl {α : Sort u_1} {ε : Type u_2} [Monoid ε] {R : α → ε → α → Prop} {x : α} : TraceReflTransGen R x Trace.τ x
- head {α : Sort u_1} {ε : Type u_2} [Monoid ε] {R : α → ε → α → Prop} {x : α} (y : α) {z : α} {a a' : ε} : R x a y → TraceReflTransGen R y a' z → TraceReflTransGen R x (a * a') z
Instances For
theorem
Relation.TraceReflTransGen.single
{α : Sort u_1}
{ε : Type u_2}
[Monoid ε]
(R : α → ε → α → Prop)
{x : α}
{a : ε}
(y : α)
:
R x a y → TraceReflTransGen 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)
:
theorem
Relation.TraceReflTransGen.to_trans_gen
{α : Sort u_1}
{ε : Type u_2}
[Monoid ε]
{R : α → ε → α → Prop}
{x y z : α}
{a a' : ε}
:
R x a y → TraceReflTransGen R y a' z → TraceTransGen 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 y → TraceReflTransGen R y a' z → TraceReflTransGen 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 y → TraceReflTransGen 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 y → R y a' z → TraceReflTransGen 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 z → Prop}
{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₁ h → motive z (e₁ * e₂) ⋯)
:
motive z e h
Eventually R x P is the proposition stating that:
- All possible
R-chains fromxare safe (do not get stuck). - All possible
R-chains fromxeventually reach a value satisfyingP.
- here {α : Type u_1} {R : α → Set α → Prop} {x : α} {P : Set α} : x ∈ P → Eventually R x P
- step {α : Type u_1} {R : α → Set α → Prop} {x : α} {P : Set α} (P' : Set α) : R x P' → (∀ x' ∈ P', Eventually R x' P) → Eventually R x P
Instances For
theorem
Relation.Eventually.step_chained
{α : Type u_1}
{x : α}
{R : α → Set α → Prop}
{P : Set α}
(h : R x {y : α | Eventually R y P})
:
Eventually R x P
theorem
Relation.Eventually.cut
{α : Type u_1}
{x : α}
{P : Set α}
(P' : Set α)
{R : α → Set α → Prop}
(h : Eventually R x P')
(h' : ∀ y ∈ P', Eventually R y P)
:
Eventually R x P
theorem
Relation.Eventually.cut_chained
{α : Type u_1}
{x : α}
{R : α → Set α → Prop}
{P : Set α}
(h : Eventually R x {y : α | Eventually R y P})
:
Eventually R x P
Eventually? R x P is the proposition stating that:
- All possible
R-chains fromxthat areR-safe eventually reach a value satisfyingP.
- here {α : Type u_1} {R : α → Set α → Prop} {x : α} {P : Set α} : x ∈ P → Eventually? R x P
- step? {α : Type u_1} {R : α → Set α → Prop} {x : α} {P : Set α} (P' : Set α) (x' : α) : R x P' → x' ∈ P' → Eventually? R x' P → Eventually? R x P
Instances For
theorem
Relation.Eventually?.wellformed
{α : Type u_1}
(R : α → Set α → Prop)
(x : α)
(P : Set α)
:
Eventually? R x P → P ≠ ∅