@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
- ISAR.instDecidableEqSK.decEq ISAR.SK.S ISAR.SK.S = isTrue ⋯
- ISAR.instDecidableEqSK.decEq ISAR.SK.S ISAR.SK.K = isFalse ISAR.instDecidableEqSK.decEq._proof_1
- ISAR.instDecidableEqSK.decEq ISAR.SK.S ISAR.SK.I = isFalse ISAR.instDecidableEqSK.decEq._proof_2
- ISAR.instDecidableEqSK.decEq ISAR.SK.S (a · a_1) = isFalse ⋯
- ISAR.instDecidableEqSK.decEq ISAR.SK.K ISAR.SK.S = isFalse ISAR.instDecidableEqSK.decEq._proof_4
- ISAR.instDecidableEqSK.decEq ISAR.SK.K ISAR.SK.K = isTrue ⋯
- ISAR.instDecidableEqSK.decEq ISAR.SK.K ISAR.SK.I = isFalse ISAR.instDecidableEqSK.decEq._proof_5
- ISAR.instDecidableEqSK.decEq ISAR.SK.K (a · a_1) = isFalse ⋯
- ISAR.instDecidableEqSK.decEq ISAR.SK.I ISAR.SK.S = isFalse ISAR.instDecidableEqSK.decEq._proof_7
- ISAR.instDecidableEqSK.decEq ISAR.SK.I ISAR.SK.K = isFalse ISAR.instDecidableEqSK.decEq._proof_8
- ISAR.instDecidableEqSK.decEq ISAR.SK.I ISAR.SK.I = isTrue ⋯
- ISAR.instDecidableEqSK.decEq ISAR.SK.I (a · a_1) = isFalse ⋯
- ISAR.instDecidableEqSK.decEq (a · a_1) ISAR.SK.S = isFalse ⋯
- ISAR.instDecidableEqSK.decEq (a · a_1) ISAR.SK.K = isFalse ⋯
- ISAR.instDecidableEqSK.decEq (a · a_1) ISAR.SK.I = isFalse ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
- ISAR.instReprSK.repr ISAR.SK.S prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ISAR.SK.S")).group prec✝
- ISAR.instReprSK.repr ISAR.SK.K prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ISAR.SK.K")).group prec✝
- ISAR.instReprSK.repr ISAR.SK.I prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ISAR.SK.I")).group prec✝
Instances For
@[implicit_reducible]
Equations
- ISAR.instReprSK = { reprPrec := ISAR.instReprSK.repr }
Equations
- ISAR.SK.«term_·_» = Lean.ParserDescr.trailingNode `ISAR.SK.«term_·_» 70 70 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " · ") (Lean.ParserDescr.cat `term 71))
Instances For
Equations
- One or more equations did not get rendered due to their size.
- ISAR.instDecidableEqITerm.decEq (ISAR.ITerm.var a) (ISAR.ITerm.var b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- ISAR.instDecidableEqITerm.decEq (ISAR.ITerm.var a) ISAR.ITerm.norm = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq (ISAR.ITerm.var a) ISAR.ITerm.konst = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq (ISAR.ITerm.var a) ISAR.ITerm.dup = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq (ISAR.ITerm.var a) ISAR.ITerm.swap = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq (ISAR.ITerm.var a) ISAR.ITerm.comp = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq (ISAR.ITerm.var a) ISAR.ITerm.sₛ = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq (ISAR.ITerm.var a) (a_1 · a_2) = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.norm (ISAR.ITerm.var a) = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.norm ISAR.ITerm.norm = isTrue ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.norm ISAR.ITerm.konst = isFalse ISAR.instDecidableEqITerm.decEq._proof_11
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.norm ISAR.ITerm.dup = isFalse ISAR.instDecidableEqITerm.decEq._proof_12
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.norm ISAR.ITerm.swap = isFalse ISAR.instDecidableEqITerm.decEq._proof_13
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.norm ISAR.ITerm.comp = isFalse ISAR.instDecidableEqITerm.decEq._proof_14
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.norm ISAR.ITerm.sₛ = isFalse ISAR.instDecidableEqITerm.decEq._proof_15
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.norm (a · a_1) = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.konst (ISAR.ITerm.var a) = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.konst ISAR.ITerm.norm = isFalse ISAR.instDecidableEqITerm.decEq._proof_18
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.konst ISAR.ITerm.konst = isTrue ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.konst ISAR.ITerm.dup = isFalse ISAR.instDecidableEqITerm.decEq._proof_19
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.konst ISAR.ITerm.swap = isFalse ISAR.instDecidableEqITerm.decEq._proof_20
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.konst ISAR.ITerm.comp = isFalse ISAR.instDecidableEqITerm.decEq._proof_21
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.konst ISAR.ITerm.sₛ = isFalse ISAR.instDecidableEqITerm.decEq._proof_22
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.konst (a · a_1) = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.dup (ISAR.ITerm.var a) = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.dup ISAR.ITerm.norm = isFalse ISAR.instDecidableEqITerm.decEq._proof_25
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.dup ISAR.ITerm.konst = isFalse ISAR.instDecidableEqITerm.decEq._proof_26
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.dup ISAR.ITerm.dup = isTrue ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.dup ISAR.ITerm.swap = isFalse ISAR.instDecidableEqITerm.decEq._proof_27
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.dup ISAR.ITerm.comp = isFalse ISAR.instDecidableEqITerm.decEq._proof_28
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.dup ISAR.ITerm.sₛ = isFalse ISAR.instDecidableEqITerm.decEq._proof_29
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.dup (a · a_1) = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.swap (ISAR.ITerm.var a) = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.swap ISAR.ITerm.norm = isFalse ISAR.instDecidableEqITerm.decEq._proof_32
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.swap ISAR.ITerm.konst = isFalse ISAR.instDecidableEqITerm.decEq._proof_33
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.swap ISAR.ITerm.dup = isFalse ISAR.instDecidableEqITerm.decEq._proof_34
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.swap ISAR.ITerm.swap = isTrue ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.swap ISAR.ITerm.comp = isFalse ISAR.instDecidableEqITerm.decEq._proof_35
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.swap ISAR.ITerm.sₛ = isFalse ISAR.instDecidableEqITerm.decEq._proof_36
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.swap (a · a_1) = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.comp (ISAR.ITerm.var a) = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.comp ISAR.ITerm.norm = isFalse ISAR.instDecidableEqITerm.decEq._proof_39
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.comp ISAR.ITerm.konst = isFalse ISAR.instDecidableEqITerm.decEq._proof_40
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.comp ISAR.ITerm.dup = isFalse ISAR.instDecidableEqITerm.decEq._proof_41
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.comp ISAR.ITerm.swap = isFalse ISAR.instDecidableEqITerm.decEq._proof_42
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.comp ISAR.ITerm.comp = isTrue ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.comp ISAR.ITerm.sₛ = isFalse ISAR.instDecidableEqITerm.decEq._proof_43
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.comp (a · a_1) = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.sₛ (ISAR.ITerm.var a) = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.sₛ ISAR.ITerm.norm = isFalse ISAR.instDecidableEqITerm.decEq._proof_46
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.sₛ ISAR.ITerm.konst = isFalse ISAR.instDecidableEqITerm.decEq._proof_47
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.sₛ ISAR.ITerm.dup = isFalse ISAR.instDecidableEqITerm.decEq._proof_48
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.sₛ ISAR.ITerm.swap = isFalse ISAR.instDecidableEqITerm.decEq._proof_49
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.sₛ ISAR.ITerm.comp = isFalse ISAR.instDecidableEqITerm.decEq._proof_50
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.sₛ ISAR.ITerm.sₛ = isTrue ⋯
- ISAR.instDecidableEqITerm.decEq ISAR.ITerm.sₛ (a · a_1) = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq (a · a_1) (ISAR.ITerm.var a_2) = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq (a · a_1) ISAR.ITerm.norm = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq (a · a_1) ISAR.ITerm.konst = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq (a · a_1) ISAR.ITerm.dup = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq (a · a_1) ISAR.ITerm.swap = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq (a · a_1) ISAR.ITerm.comp = isFalse ⋯
- ISAR.instDecidableEqITerm.decEq (a · a_1) ISAR.ITerm.sₛ = isFalse ⋯
Instances For
@[implicit_reducible]
@[implicit_reducible]
Equations
- ISAR.instReprITerm = { reprPrec := ISAR.instReprITerm.repr }
Equations
- One or more equations did not get rendered due to their size.
- ISAR.instReprITerm.repr ISAR.ITerm.norm prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ISAR.ITerm.norm")).group prec✝
- ISAR.instReprITerm.repr ISAR.ITerm.konst prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ISAR.ITerm.konst")).group prec✝
- ISAR.instReprITerm.repr ISAR.ITerm.dup prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ISAR.ITerm.dup")).group prec✝
- ISAR.instReprITerm.repr ISAR.ITerm.swap prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ISAR.ITerm.swap")).group prec✝
- ISAR.instReprITerm.repr ISAR.ITerm.comp prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ISAR.ITerm.comp")).group prec✝
- ISAR.instReprITerm.repr ISAR.ITerm.sₛ prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ISAR.ITerm.sₛ")).group prec✝
Instances For
Equations
- ISAR.ITerm.«term_·_» = Lean.ParserDescr.trailingNode `ISAR.ITerm.«term_·_» 70 70 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " · ") (Lean.ParserDescr.cat `term 71))
Instances For
- normβ (x : ITerm) : IStep (ITerm.norm · x) x
- konstβ (x y : ITerm) : IStep (ITerm.konst · x · y) x
- compβ (f g x : ITerm) : IStep (ITerm.comp · f · g · x) (f · (g · x))
- sβ (x y z : ITerm) : IStep (ITerm.sₛ · x · y · z) (x · z · (y · z))
- appL {f f' x : ITerm} : IStep f f' → IStep (f · x) (f' · x)
- appR {f x x' : ITerm} : IStep x x' → IStep (f · x) (f · x')
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
Equations
- ISAR.NormalSK t = ∀ (u : ISAR.SK), ¬ISAR.SKStep t u
Instances For
Equations
- ISAR.NormalI t = ∀ (u : ISAR.ITerm), ¬ISAR.IStep t u
Instances For
Equations
Instances For
- var (n : Nat) : ParStep (ITerm.var n) (ITerm.var n)
- norm : ParStep ITerm.norm ITerm.norm
- konst : ParStep ITerm.konst ITerm.konst
- dup : ParStep ITerm.dup ITerm.dup
- swap : ParStep ITerm.swap ITerm.swap
- comp : ParStep ITerm.comp ITerm.comp
- sₛ : ParStep ITerm.sₛ ITerm.sₛ
- app {f f' x x' : ITerm} : ParStep f f' → ParStep x x' → ParStep (f · x) (f' · x')
- norm_red {x x' : ITerm} : ParStep x x' → ParStep (ITerm.norm · x) x'
- konst_red {x x' y y' : ITerm} : ParStep x x' → ParStep y y' → ParStep (ITerm.konst · x · y) x'
- comp_red {f f' g g' x x' : ITerm} : ParStep f f' → ParStep g g' → ParStep x x' → ParStep (ITerm.comp · f · g · x) (f' · (g' · x'))
- s_red {x x' y y' z z' : ITerm} : ParStep x x' → ParStep y y' → ParStep z z' → ParStep (ITerm.sₛ · x · y · z) (x' · z' · (y' · z'))
Instances For
Equations
- ISAR.cd (ISAR.ITerm.var n) = ISAR.ITerm.var n
- ISAR.cd ISAR.ITerm.norm = ISAR.ITerm.norm
- ISAR.cd ISAR.ITerm.konst = ISAR.ITerm.konst
- ISAR.cd ISAR.ITerm.dup = ISAR.ITerm.dup
- ISAR.cd ISAR.ITerm.swap = ISAR.ITerm.swap
- ISAR.cd ISAR.ITerm.comp = ISAR.ITerm.comp
- ISAR.cd ISAR.ITerm.sₛ = ISAR.ITerm.sₛ
- ISAR.cd (ISAR.ITerm.norm · x_1) = ISAR.cd x_1
- ISAR.cd (ISAR.ITerm.konst · x_1 · a) = ISAR.cd x_1
- ISAR.cd (ISAR.ITerm.comp · f · g · x_1) = ISAR.cd f · (ISAR.cd g · ISAR.cd x_1)
- ISAR.cd (ISAR.ITerm.sₛ · x_1 · y · z) = ISAR.cd x_1 · ISAR.cd z · (ISAR.cd y · ISAR.cd z)
- ISAR.cd (f · x_1) = ISAR.cd f · ISAR.cd x_1
Instances For
theorem
ISAR.ParTransGen_diamond
{t u₁ u₂ : ITerm}
(h₁ : Relation.ReflTransGen ParStep t u₁)
(h₂ : Relation.ReflTransGen ParStep t u₂)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
- normβ (x : ITerm) : IStepBasis (ITerm.norm · x) x
- konstβ (x y : ITerm) : IStepBasis (ITerm.konst · x · y) x
- compβ (f g x : ITerm) : IStepBasis (ITerm.comp · f · g · x) (f · (g · x))
- dupβ (f x : ITerm) : IStepBasis (ITerm.dup · f · x) (f · x · x)
- swapβ (f x y : ITerm) : IStepBasis (ITerm.swap · f · x · y) (f · y · x)
- appL {f f' x : ITerm} : IStepBasis f f' → IStepBasis (f · x) (f' · x)
- appR {f x x' : ITerm} : IStepBasis x x' → IStepBasis (f · x) (f · x')
Instances For
@[reducible, inline]
Instances For
Equations
- ISAR.translate_to_basis (ISAR.ITerm.var a) = ISAR.ITerm.var a
- ISAR.translate_to_basis ISAR.ITerm.norm = ISAR.ITerm.norm
- ISAR.translate_to_basis ISAR.ITerm.konst = ISAR.ITerm.konst
- ISAR.translate_to_basis ISAR.ITerm.dup = ISAR.ITerm.dup
- ISAR.translate_to_basis ISAR.ITerm.swap = ISAR.ITerm.swap
- ISAR.translate_to_basis ISAR.ITerm.comp = ISAR.ITerm.comp
- ISAR.translate_to_basis ISAR.ITerm.sₛ = ISAR.derived_s
- ISAR.translate_to_basis (a · a_1) = ISAR.translate_to_basis a · ISAR.translate_to_basis a_1