Custom operators #
Heyting co-implication ↜
Equations
- «term_↜_» = Lean.ParserDescr.trailingNode `«term_↜_» 60 61 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ↜ ") (Lean.ParserDescr.cat `term 60))
Instances For
Set / lattice complement
Equations
- «term~_» = Lean.ParserDescr.node `«term~_» 72 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "~ ") (Lean.ParserDescr.cat `term 72))
Instances For
Validate ▵
Equations
- «term▵_» = Lean.ParserDescr.node `«term▵_» 72 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "▵ ") (Lean.ParserDescr.cat `term 72))
Instances For
Co-validate ▿
Equations
- «term▿_» = Lean.ParserDescr.node `«term▿_» 72 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "▿ ") (Lean.ParserDescr.cat `term 72))
Instances For
@[implicit_reducible]
@[implicit_reducible]
Equations
@[implicit_reducible]
Equations
Iverson brackets i[b]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[implicit_reducible]
Equations
- Iverson.instPropNat = { iver := fun (b : Prop) => have this := Classical.propDecidable b; if b then 1 else 0 }
@[implicit_reducible]
instance
Pi.instSubstitution
{α : Type u_1}
{β : Type u_2}
{ι : Type u_3}
{γ : ι → Type u_4}
[Substitution α γ]
:
Substitution (α → β) fun (a : ι) => α → γ a
Expressions & State #
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- pGCL.State Γ = ((s : 𝒱) → Γ s)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[implicit_reducible]
instance
pGCL.State.instSubstitution
{𝒱 : Type u_1}
{Γ : 𝒱 → Type u_2}
[DecidableEq 𝒱]
:
Substitution (State Γ) Γ
Equations
- pGCL.State.instSubstitution = { subst := fun (σ : pGCL.State Γ) (x : Sigma Γ) (α : 𝒱) => match x with | ⟨v, t⟩ => if h : v = α then cast ⋯ t else σ α }
instance
pGCL.Exp.instAddLeftMonoForall_pGCL
{α : Type u_4}
{ι : Type u_3}
[Add α]
[LE α]
[AddLeftMono α]
:
AddLeftMono (ι → α)
instance
pGCL.Exp.instAddRightMonoForall_pGCL
{α : Type u_4}
{ι : Type u_3}
[Add α]
[LE α]
[AddRightMono α]
:
AddRightMono (ι → α)
theorem
pGCL.Exp.add_le_add
{α : Type u_3}
{𝒱 : Type u_1}
{Γ : 𝒱 → Type u_2}
[Add α]
[Preorder α]
[AddLeftMono α]
[AddRightMono α]
(a b c d : State Γ → α)
(hac : a ≤ c)
(hbd : b ≤ d)
:
theorem
pGCL.Exp.mul_le_mul
{α : Type u_3}
{𝒱 : Type u_1}
{Γ : 𝒱 → Type u_2}
[Mul α]
[Preorder α]
[MulLeftMono α]
[MulRightMono α]
(a b c d : State Γ → α)
(hac : a ≤ c)
(hbd : b ≤ d)
:
noncomputable def
pGCL.BExpr.forall_
{𝒱 : Type u_1}
{Γ : 𝒱 → Type u_2}
[DecidableEq 𝒱]
(x : 𝒱)
(b : BExpr Γ)
:
BExpr Γ
Equations
- pGCL.BExpr.forall_ x b σ = ∀ (v : Γ x), b (σ[x ↦ v])
Instances For
noncomputable def
pGCL.BExpr.exists_
{𝒱 : Type u_1}
{Γ : 𝒱 → Type u_2}
[DecidableEq 𝒱]
(x : 𝒱)
(b : BExpr Γ)
:
BExpr Γ
Equations
- pGCL.BExpr.exists_ x b σ = ∃ (v : Γ x), b (σ[x ↦ v])
Instances For
@[implicit_reducible]
Equations
noncomputable def
pGCL.BExpr.lt
{α : Type u_3}
{𝒱 : Type u_1}
{Γ : 𝒱 → Type u_2}
[PartialOrder α]
(l r : State Γ → α)
:
BExpr Γ
Equations
- pGCL.BExpr.lt l r σ = (l σ < r σ)
Instances For
noncomputable def
pGCL.BExpr.le
{α : Type u_3}
{𝒱 : Type u_1}
{Γ : 𝒱 → Type u_2}
[PartialOrder α]
(l r : State Γ → α)
:
BExpr Γ
Equations
- pGCL.BExpr.le l r σ = (l σ ≤ r σ)
Instances For
noncomputable def
pGCL.BExpr.eq
{α : Type u_3}
{𝒱 : Type u_1}
{Γ : 𝒱 → Type u_2}
(l r : State Γ → α)
:
BExpr Γ
Equations
- pGCL.BExpr.eq l r σ = (l σ = r σ)
Instances For
instance
OrderHom.instAddLeftMonoForallStateENNReal
{𝒱✝ : Type u_3}
{Γ : 𝒱✝ → Type u_4}
:
AddLeftMono (pGCL.State Γ → ENNReal)
instance
OrderHom.instAddRightMonoForallStateENNReal
{𝒱✝ : Type u_3}
{Γ : 𝒱✝ → Type u_4}
:
AddRightMono (pGCL.State Γ → ENNReal)
@[implicit_reducible]
instance
OrderHom.instAdd
{α : Type u_1}
{β : Type u_2}
[Preorder α]
[Preorder β]
[Add β]
[AddLeftMono β]
[AddRightMono β]
:
@[simp]
theorem
OrderHom.add_apply
{α : Type u_1}
{β : Type u_2}
[Preorder α]
[Preorder β]
[Add β]
[AddLeftMono β]
[AddRightMono β]
{x : α}
(f g : α →o β)
:
@[simp]
theorem
OrderHom.add_apply2'
{α : Type u_1}
[Preorder α]
{𝒱✝ : Type u_3}
{Γ : 𝒱✝ → Type u_4}
{x : α}
{y : pGCL.State Γ}
(f g : α →o pGCL.State Γ → ENNReal)
:
@[implicit_reducible]
instance
OrderHom.instAddZeroClassOfAddLeftMonoOfAddRightMono_pGCL
{α : Type u_1}
[Preorder α]
{β : Type u_3}
[Preorder β]
[AddZeroClass β]
[AddLeftMono β]
[AddRightMono β]
:
AddZeroClass (α →o β)
Equations
- OrderHom.instAddZeroClassOfAddLeftMonoOfAddRightMono_pGCL = { toZero := Zero.ofOfNat0, toAdd := OrderHom.instAdd, zero_add := ⋯, add_zero := ⋯ }
instance
OrderHom.instAddRightMonoForall_pGCL
{α : Type u_3}
{β : Type u_4}
[Preorder β]
[Add β]
[i : AddRightMono β]
:
AddRightMono (α → β)
instance
OrderHom.instAddLeftMonoForall_pGCL
{α : Type u_3}
{β : Type u_4}
[Preorder β]
[Add β]
[i : AddLeftMono β]
:
AddLeftMono (α → β)