@[instance_reducible]
Equations
- SK.instInhabitedExpr = { default := SK.instInhabitedExpr.default }
@[instance_reducible]
Equations
- SK.instDecidableEqExpr.decEq SK.Expr.K SK.Expr.K = isTrue ⋯
- SK.instDecidableEqExpr.decEq SK.Expr.K SK.Expr.S = isFalse SK.instDecidableEqExpr.decEq._proof_1
- SK.instDecidableEqExpr.decEq SK.Expr.K (a %% a_1) = isFalse ⋯
- SK.instDecidableEqExpr.decEq SK.Expr.S SK.Expr.K = isFalse SK.instDecidableEqExpr.decEq._proof_3
- SK.instDecidableEqExpr.decEq SK.Expr.S SK.Expr.S = isTrue ⋯
- SK.instDecidableEqExpr.decEq SK.Expr.S (a %% a_1) = isFalse ⋯
- SK.instDecidableEqExpr.decEq (a %% a_1) SK.Expr.K = isFalse ⋯
- SK.instDecidableEqExpr.decEq (a %% a_1) SK.Expr.S = isFalse ⋯
- SK.instDecidableEqExpr.decEq (a %% a_1) (b %% b_1) = if h : a = b then h ▸ have inst := SK.instDecidableEqExpr.decEq a a; have inst := SK.instDecidableEqExpr.decEq a_1 b_1; if h : a_1 = b_1 then h ▸ have inst := SK.instDecidableEqExpr.decEq a_1 a_1; isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
@[instance_reducible]
Equations
- SK.instReprExpr = { reprPrec := SK.instReprExpr.repr }
Equations
- SK.instReprExpr.repr SK.Expr.K prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "SK.Expr.K")).group prec✝
- SK.instReprExpr.repr SK.Expr.S prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "SK.Expr.S")).group prec✝
- SK.instReprExpr.repr (a %% a_1) prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "SK.Expr.App" ++ Std.Format.line ++ SK.instReprExpr.repr a 1024 ++ Std.Format.line ++ SK.instReprExpr.repr a_1 1024)).group prec✝
Instances For
Equations
- SK.«term_%%_» = Lean.ParserDescr.trailingNode `SK.«term_%%_» 1000 1000 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " %% ") (Lean.ParserDescr.cat `term 1001))
Instances For
- rfl {a : Expr} : Reduces a a
- trans {a b c : Expr} : Reduces a b → Reduces b c → Reduces a c
- app {a b a' b' : Expr} : Reduces a a' → Reduces b b' → Reduces (a %% b) (a' %% b')
- k {a b : Expr} : Reduces (Expr.K %% a %% b) a
- s {a b c : Expr} : Reduces (Expr.S %% a %% b %% c) (a %% c %% (b %% c))