chore: update stage0
This commit is contained in:
parent
46b97c2b70
commit
b7d2239ca4
56 changed files with 16144 additions and 7107 deletions
2
stage0/src/Init/Control/Lawful.lean
generated
2
stage0/src/Init/Control/Lawful.lean
generated
|
|
@ -113,7 +113,7 @@ theorem ext [Monad m] {x y : ExceptT ε m α} (h : x.run = y.run) : x = y := by
|
|||
|
||||
@[simp] theorem run_pure [Monad m] (x : α) : run (pure x : ExceptT ε m α) = pure (Except.ok x) := rfl
|
||||
|
||||
@[simp] theorem run_lift {α β ε : Type u} [Monad m] (x : m α) : run (ExceptT.lift x : ExceptT ε m α) = (Except.ok <$> x : m (Except ε α)) := rfl
|
||||
@[simp] theorem run_lift [Monad.{u, v} m] (x : m α) : run (ExceptT.lift x : ExceptT ε m α) = (Except.ok <$> x : m (Except ε α)) := rfl
|
||||
|
||||
@[simp] theorem run_throw [Monad m] : run (throw e : ExceptT ε m β) = pure (Except.error e) := rfl
|
||||
|
||||
|
|
|
|||
14
stage0/src/Init/Data/Nat/Basic.lean
generated
14
stage0/src/Init/Data/Nat/Basic.lean
generated
|
|
@ -606,6 +606,20 @@ protected theorem mul_sub_right_distrib (n m k : Nat) : (n - m) * k = n * k - m
|
|||
protected theorem mul_sub_left_distrib (n m k : Nat) : n * (m - k) = n * m - n * k := by
|
||||
rw [Nat.mul_comm, Nat.mul_sub_right_distrib, Nat.mul_comm m n, Nat.mul_comm n k]
|
||||
|
||||
/- Helper normalization theorems -/
|
||||
|
||||
theorem not_le_eq (a b : Nat) : (¬ (a ≤ b)) = (b + 1 ≤ a) :=
|
||||
propext <| Iff.intro (fun h => Nat.gt_of_not_le h) (fun h => Nat.not_le_of_gt h)
|
||||
|
||||
theorem not_ge_eq (a b : Nat) : (¬ (a ≥ b)) = (a + 1 ≤ b) :=
|
||||
not_le_eq b a
|
||||
|
||||
theorem not_lt_eq (a b : Nat) : (¬ (a < b)) = (b ≤ a) :=
|
||||
propext <| Iff.intro (fun h => have h := Nat.succ_le_of_lt (Nat.gt_of_not_le h); Nat.le_of_succ_le_succ h) (fun h => Nat.not_le_of_gt (Nat.succ_le_succ h))
|
||||
|
||||
theorem not_gt_eq (a b : Nat) : (¬ (a > b)) = (a ≤ b) :=
|
||||
not_lt_eq b a
|
||||
|
||||
end Nat
|
||||
|
||||
namespace Prod
|
||||
|
|
|
|||
20
stage0/src/Init/Data/Nat/Linear.lean
generated
20
stage0/src/Init/Data/Nat/Linear.lean
generated
|
|
@ -137,8 +137,11 @@ def Expr.toPoly : Expr → Poly
|
|||
| Expr.mulL k a => a.toPoly.mul k
|
||||
| Expr.mulR a k => a.toPoly.mul k
|
||||
|
||||
def Poly.norm (p : Poly) : Poly :=
|
||||
p.sort.fuse
|
||||
|
||||
def Expr.toNormPoly (e : Expr) : Poly :=
|
||||
e.toPoly.sort.fuse
|
||||
e.toPoly.norm
|
||||
|
||||
def Expr.inc (e : Expr) : Expr :=
|
||||
Expr.add e (Expr.num 1)
|
||||
|
|
@ -490,7 +493,7 @@ theorem Expr.denote_toPoly (ctx : Context) (e : Expr) : e.toPoly.denote ctx = e.
|
|||
attribute [local simp] Expr.denote_toPoly
|
||||
|
||||
theorem Expr.eq_of_toNormPoly (ctx : Context) (a b : Expr) (h : a.toNormPoly = b.toNormPoly) : a.denote ctx = b.denote ctx := by
|
||||
simp [toNormPoly] at h
|
||||
simp [toNormPoly, Poly.norm] at h
|
||||
have h := congrArg (Poly.denote ctx) h
|
||||
simp at h
|
||||
assumption
|
||||
|
|
@ -498,13 +501,13 @@ theorem Expr.eq_of_toNormPoly (ctx : Context) (a b : Expr) (h : a.toNormPoly = b
|
|||
theorem Expr.of_cancel_eq (ctx : Context) (a b c d : Expr) (h : Poly.cancel a.toNormPoly b.toNormPoly = (c.toPoly, d.toPoly)) : (a.denote ctx = b.denote ctx) = (c.denote ctx = d.denote ctx) := by
|
||||
have := Poly.denote_eq_cancel_eq ctx a.toNormPoly b.toNormPoly
|
||||
rw [h] at this
|
||||
simp [toNormPoly, Poly.denote_eq] at this
|
||||
simp [toNormPoly, Poly.norm, Poly.denote_eq] at this
|
||||
exact this.symm
|
||||
|
||||
theorem Expr.of_cancel_le (ctx : Context) (a b c d : Expr) (h : Poly.cancel a.toNormPoly b.toNormPoly = (c.toPoly, d.toPoly)) : (a.denote ctx ≤ b.denote ctx) = (c.denote ctx ≤ d.denote ctx) := by
|
||||
have := Poly.denote_le_cancel_eq ctx a.toNormPoly b.toNormPoly
|
||||
rw [h] at this
|
||||
simp [toNormPoly, Poly.denote_le] at this
|
||||
simp [toNormPoly, Poly.norm,Poly.denote_le] at this
|
||||
exact this.symm
|
||||
|
||||
theorem Expr.of_cancel_lt (ctx : Context) (a b c d : Expr) (h : Poly.cancel a.inc.toNormPoly b.toNormPoly = (c.inc.toPoly, d.toPoly)) : (a.denote ctx < b.denote ctx) = (c.denote ctx < d.denote ctx) :=
|
||||
|
|
@ -526,8 +529,8 @@ theorem ExprCnstr.denote_toNormPoly (ctx : Context) (c : ExprCnstr) : c.toNormPo
|
|||
cases c; rename_i eq lhs rhs
|
||||
simp [ExprCnstr.denote, PolyCnstr.denote, ExprCnstr.toNormPoly]
|
||||
by_cases h : eq = true <;> simp [h]
|
||||
. rw [Poly.denote_eq_cancel_eq]; simp [Poly.denote_eq, Expr.toNormPoly]
|
||||
. rw [Poly.denote_le_cancel_eq]; simp [Poly.denote_le, Expr.toNormPoly]
|
||||
. rw [Poly.denote_eq_cancel_eq]; simp [Poly.denote_eq, Expr.toNormPoly, Poly.norm]
|
||||
. rw [Poly.denote_le_cancel_eq]; simp [Poly.denote_le, Expr.toNormPoly, Poly.norm]
|
||||
|
||||
attribute [local simp] ExprCnstr.denote_toNormPoly
|
||||
|
||||
|
|
@ -671,4 +674,9 @@ theorem ExprCnstr.eq_of_toNormPoly_eq (ctx : Context) (c d : ExprCnstr) (h : c.t
|
|||
simp at h
|
||||
assumption
|
||||
|
||||
theorem Expr.eq_of_toNormPoly_eq (ctx : Context) (e e' : Expr) (h : e.toNormPoly == e'.toPoly) : e.denote ctx = e'.denote ctx := by
|
||||
have h := congrArg (Poly.denote ctx) (eq_of_beq h)
|
||||
simp [Expr.toNormPoly, Poly.norm] at h
|
||||
assumption
|
||||
|
||||
end Nat.Linear
|
||||
|
|
|
|||
14
stage0/src/Init/Meta.lean
generated
14
stage0/src/Init/Meta.lean
generated
|
|
@ -1008,7 +1008,7 @@ structure Config where
|
|||
iota : Bool := true
|
||||
proj : Bool := true
|
||||
decide : Bool := true
|
||||
arith : Bool := true
|
||||
arith : Bool := false
|
||||
deriving Inhabited, BEq, Repr
|
||||
|
||||
-- Configuration object for `simp_all`
|
||||
|
|
@ -1041,6 +1041,18 @@ namespace Parser.Tactic
|
|||
macro "erw " s:rwRuleSeq loc:(location)? : tactic =>
|
||||
`(rw (config := { transparency := Lean.Meta.TransparencyMode.default }) $s:rwRuleSeq $[$(loc.getOptional?):location]?)
|
||||
|
||||
/-- Similar to `simp` but with `arith := true` -/
|
||||
syntax (name := simpArith) "simp_arith " (config)? (discharger)? (&"only ")? ("[" (simpStar <|> simpErase <|> simpLemma),* "]")? (location)? : tactic
|
||||
|
||||
@[macro simpArith] def expandSimpArith : Macro := fun s => do
|
||||
let c ← match s[1][0] with
|
||||
| `(config| (config := $c:term)) => `(config| (config := { ($c : Lean.Meta.Simp.Config) with arith := true }))
|
||||
| _ => `(config| (config := { arith := true }))
|
||||
let s := s.setKind ``simp
|
||||
let s := s.setArg 0 (mkAtomFrom s[0] "simp")
|
||||
let r := s.setArg 1 (mkNullNode #[c])
|
||||
return r
|
||||
|
||||
end Parser.Tactic
|
||||
|
||||
end Lean
|
||||
|
|
|
|||
2
stage0/src/Init/Notation.lean
generated
2
stage0/src/Init/Notation.lean
generated
|
|
@ -439,6 +439,8 @@ macro_rules | `(tactic| trivial) => `(tactic| apply And.intro <;> trivial)
|
|||
|
||||
macro "unhygienic " t:tacticSeq : tactic => `(set_option tactic.hygienic false in $t:tacticSeq)
|
||||
|
||||
syntax (name := fail) "fail " (str)? : tactic
|
||||
|
||||
end Tactic
|
||||
|
||||
namespace Attr
|
||||
|
|
|
|||
2
stage0/src/Init/WFTactics.lean
generated
2
stage0/src/Init/WFTactics.lean
generated
|
|
@ -18,6 +18,8 @@ macro "decreasing_tactic" : tactic =>
|
|||
| apply Nat.pred_lt'; assumption -- i-1 < i if j < i
|
||||
| apply Nat.sub_succ_lt_self; assumption -- a - (i+1) < a - i if i < a
|
||||
| assumption
|
||||
| simp (config := { arith := true }); done
|
||||
| fail "failed to prove termination, possible solutions:\n - Use `have`-expressions to prove the remaining goals\n - Use `termination_by` to specify a different well-founded relation\n - Use `decreasing_by` to specity your own tactic for discharging this kind of goal"
|
||||
-- TODO: linearith
|
||||
-- TODO: improve
|
||||
))
|
||||
|
|
|
|||
8
stage0/src/Lean/Elab/PreDefinition/WF/Main.lean
generated
8
stage0/src/Lean/Elab/PreDefinition/WF/Main.lean
generated
|
|
@ -79,13 +79,13 @@ def getFixedPrefix (preDefs : Array PreDefinition) : TermElabM Nat :=
|
|||
resultRef.get
|
||||
|
||||
def wfRecursion (preDefs : Array PreDefinition) (wf? : Option TerminationWF) (decrTactic? : Option Syntax) : TermElabM Unit := do
|
||||
let fixedPrefixSize ← getFixedPrefix preDefs
|
||||
trace[Elab.definition.wf] "fixed prefix: {fixedPrefixSize}"
|
||||
let unaryPreDef ← withoutModifyingEnv do
|
||||
let (unaryPreDef, fixedPrefixSize) ← withoutModifyingEnv do
|
||||
for preDef in preDefs do
|
||||
addAsAxiom preDef
|
||||
let fixedPrefixSize ← getFixedPrefix preDefs
|
||||
trace[Elab.definition.wf] "fixed prefix: {fixedPrefixSize}"
|
||||
let unaryPreDefs ← packDomain fixedPrefixSize preDefs
|
||||
packMutual fixedPrefixSize unaryPreDefs
|
||||
return (← packMutual fixedPrefixSize unaryPreDefs, fixedPrefixSize)
|
||||
let preDefNonRec ← forallBoundedTelescope unaryPreDef.type fixedPrefixSize fun prefixArgs type => do
|
||||
let packedArgType := type.bindingDomain!
|
||||
let wfRel ← elabWFRel preDefs unaryPreDef.declName fixedPrefixSize packedArgType wf?
|
||||
|
|
|
|||
2
stage0/src/Lean/Elab/Tactic/Basic.lean
generated
2
stage0/src/Lean/Elab/Tactic/Basic.lean
generated
|
|
@ -26,7 +26,7 @@ def admitGoal (mvarId : MVarId) : MetaM Unit :=
|
|||
assignExprMVar mvarId (← mkSorry mvarType (synthetic := true))
|
||||
|
||||
def goalsToMessageData (goals : List MVarId) : MessageData :=
|
||||
MessageData.joinSep (goals.map $ MessageData.ofGoal) m!"\n\n"
|
||||
MessageData.joinSep (goals.map MessageData.ofGoal) m!"\n\n"
|
||||
|
||||
def Term.reportUnsolvedGoals (goals : List MVarId) : TermElabM Unit :=
|
||||
withPPInaccessibleNames do
|
||||
|
|
|
|||
11
stage0/src/Lean/Elab/Tactic/BuiltinTactic.lean
generated
11
stage0/src/Lean/Elab/Tactic/BuiltinTactic.lean
generated
|
|
@ -273,4 +273,15 @@ where
|
|||
else
|
||||
evalTactic tacs[i][1] <|> loop tacs (i+1)
|
||||
|
||||
@[builtinTactic «fail»] def evalFail : Tactic := fun stx => do
|
||||
let goals ← getGoals
|
||||
let goalsMsg := MessageData.joinSep (goals.map MessageData.ofGoal) m!"\n\n"
|
||||
match stx with
|
||||
| `(tactic| fail) => throwError "tactic 'fail' failed\n{goalsMsg}"
|
||||
| `(tactic| fail $msg) =>
|
||||
match msg.isStrLit? with
|
||||
| none => throwIllFormedSyntax
|
||||
| some msg => throwError "{msg}\n{goalsMsg}"
|
||||
| _ => throwUnsupportedSyntax
|
||||
|
||||
end Lean.Elab.Tactic
|
||||
|
|
|
|||
18
stage0/src/Lean/Meta/AppBuilder.lean
generated
18
stage0/src/Lean/Meta/AppBuilder.lean
generated
|
|
@ -537,6 +537,24 @@ def mkSub (a b : Expr) : MetaM Expr := mkBinaryOp ``HSub ``HSub.hSub a b
|
|||
/-- Return `a * b` using a heterogeneous `*`. This method assumes `a` and `b` have the same type. -/
|
||||
def mkMul (a b : Expr) : MetaM Expr := mkBinaryOp ``HMul ``HMul.hMul a b
|
||||
|
||||
/--
|
||||
Return `a r b`, where `r` has name `rName` and is implemented using the typeclass `className`.
|
||||
This method assumes `a` and `b` have the same type.
|
||||
Examples of supported clases: `LE` and `LT`.
|
||||
We use heterogeneous operators to ensure we have a uniform representation.
|
||||
-/
|
||||
private def mkBinaryRel (className : Name) (rName : Name) (a b : Expr) : MetaM Expr := do
|
||||
let aType ← inferType a
|
||||
let u ← getDecLevel aType
|
||||
let inst ← synthInstance (mkApp (mkConst className [u]) aType)
|
||||
return mkApp4 (mkConst rName [u]) aType inst a b
|
||||
|
||||
/-- Return `a ≤ b`. This method assumes `a` and `b` have the same type. -/
|
||||
def mkLE (a b : Expr) : MetaM Expr := mkBinaryRel ``LE ``LE.le a b
|
||||
|
||||
/-- Return `a < b`. This method assumes `a` and `b` have the same type. -/
|
||||
def mkLT (a b : Expr) : MetaM Expr := mkBinaryRel ``LT ``LT.lt a b
|
||||
|
||||
builtin_initialize registerTraceClass `Meta.appBuilder
|
||||
|
||||
end Lean.Meta
|
||||
|
|
|
|||
55
stage0/src/Lean/Meta/Tactic/Acyclic.lean
generated
Normal file
55
stage0/src/Lean/Meta/Tactic/Acyclic.lean
generated
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
/-
|
||||
Copyright (c) 2022 Microsoft Corporation. All rights reserved.
|
||||
Released under Apache 2.0 license as described in the file LICENSE.
|
||||
Authors: Leonardo de Moura
|
||||
-/
|
||||
import Lean.Meta.MatchUtil
|
||||
import Lean.Meta.Tactic.Simp.Main
|
||||
|
||||
namespace Lean.Meta
|
||||
|
||||
private def isTarget (lhs rhs : Expr) : MetaM Bool := do
|
||||
if !lhs.isFVar || !lhs.occurs rhs then
|
||||
return false
|
||||
else
|
||||
return rhs.isConstructorApp (← getEnv)
|
||||
|
||||
/--
|
||||
Close the given goal if `h` is a proof for an equality such as `as = a :: as`.
|
||||
Inductive datatypes in Lean are acyclic.
|
||||
-/
|
||||
def acyclic (mvarId : MVarId) (h : Expr) : MetaM Bool := withMVarContext mvarId do
|
||||
let type ← whnfD (← inferType h)
|
||||
trace[Meta.Tactic.acyclic] "type: {type}"
|
||||
let some (_, lhs, rhs) := type.eq? | return false
|
||||
if (← isTarget lhs rhs) then
|
||||
go h lhs rhs
|
||||
else if (← isTarget rhs lhs) then
|
||||
go (← mkEqSymm h) rhs lhs
|
||||
else
|
||||
return false
|
||||
where
|
||||
go (h lhs rhs : Expr) : MetaM Bool := do
|
||||
try
|
||||
let sizeOf_lhs ← mkAppM ``sizeOf #[lhs]
|
||||
let sizeOf_rhs ← mkAppM ``sizeOf #[rhs]
|
||||
let sizeOfEq ← mkLT sizeOf_lhs sizeOf_rhs
|
||||
let hlt ← mkFreshExprSyntheticOpaqueMVar sizeOfEq
|
||||
-- TODO: we only need the `sizeOf` simp theorems
|
||||
match (← simpTarget hlt.mvarId! { config.arith := true, simpTheorems := (← getSimpTheorems) }) with
|
||||
| some _ => return false
|
||||
| none =>
|
||||
let heq ← mkCongrArg sizeOf_lhs.appFn! (← mkEqSymm h)
|
||||
let hlt_self ← mkAppM ``Nat.lt_of_lt_of_eq #[hlt, heq]
|
||||
let hlt_irrelf ← mkAppM ``Nat.lt_irrefl #[sizeOf_lhs]
|
||||
assignExprMVar mvarId (← mkFalseElim (← getMVarType mvarId) (mkApp hlt_irrelf hlt_self))
|
||||
trace[Meta.Tactic.acyclic] "succeeded"
|
||||
return true
|
||||
catch ex =>
|
||||
trace[Meta.Tactic.acyclic] "failed with\n{ex.toMessageData}"
|
||||
return false
|
||||
|
||||
builtin_initialize
|
||||
registerTraceClass `Meta.Tactic.acyclic
|
||||
|
||||
end Lean.Meta
|
||||
4
stage0/src/Lean/Meta/Tactic/Cases.lean
generated
4
stage0/src/Lean/Meta/Tactic/Cases.lean
generated
|
|
@ -8,6 +8,7 @@ import Lean.Meta.Tactic.Induction
|
|||
import Lean.Meta.Tactic.Injection
|
||||
import Lean.Meta.Tactic.Assert
|
||||
import Lean.Meta.Tactic.Subst
|
||||
import Lean.Meta.Tactic.Acyclic
|
||||
|
||||
namespace Lean.Meta
|
||||
|
||||
|
|
@ -228,13 +229,14 @@ partial def unifyEqs (numEqs : Nat) (mvarId : MVarId) (subst : FVarSubst) (caseN
|
|||
/- Remark: we use `let rec` here because otherwise the compiler would generate an insane amount of code.
|
||||
We can remove the `rec` after we fix the eagerly inlining issue in the compiler. -/
|
||||
let rec substEq (symm : Bool) := do
|
||||
/- TODO: support for acyclicity (e.g., `xs ≠ x :: xs`) -/
|
||||
/- Remark: `substCore` fails if the equation is of the form `x = x` -/
|
||||
if let some (substNew, mvarId) ← observing? (substCore mvarId eqFVarId symm subst) then
|
||||
unifyEqs (numEqs - 1) mvarId substNew caseName?
|
||||
else if (← isDefEq a b) then
|
||||
/- Skip equality -/
|
||||
unifyEqs (numEqs - 1) (← clear mvarId eqFVarId) subst caseName?
|
||||
else if (← acyclic mvarId (mkFVar eqFVarId)) then
|
||||
pure none -- this alternative has been solved
|
||||
else
|
||||
throwError "dependent elimination failed, failed to solve equation{indentExpr eqDecl.type}"
|
||||
let rec injection (a b : Expr) := do
|
||||
|
|
|
|||
4
stage0/src/Lean/Meta/Tactic/LinearArith.lean
generated
4
stage0/src/Lean/Meta/Tactic/LinearArith.lean
generated
|
|
@ -3,5 +3,7 @@ Copyright (c) 2022 Sebastian Ullrich. All rights reserved.
|
|||
Released under Apache 2.0 license as described in the file LICENSE.
|
||||
Authors: Sebastian Ullrich
|
||||
-/
|
||||
import Lean.Meta.Tactic.LinearArith.Basic
|
||||
import Lean.Meta.Tactic.LinearArith.Solver
|
||||
import Lean.Meta.Tactic.LinearArith.Nat
|
||||
import Lean.Meta.Tactic.LinearArith.Main
|
||||
import Lean.Meta.Tactic.LinearArith.Simp
|
||||
|
|
|
|||
10
stage0/src/Lean/Meta/Tactic/LinearArith/Main.lean
generated
Normal file
10
stage0/src/Lean/Meta/Tactic/LinearArith/Main.lean
generated
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
/-
|
||||
Copyright (c) 2022 Microsoft Corporation. All rights reserved.
|
||||
Released under Apache 2.0 license as described in the file LICENSE.
|
||||
Authors: Leonardo de Moura
|
||||
-/
|
||||
import Lean.Meta.Tactic.LinearArith.Nat
|
||||
|
||||
namespace Lean.Meta.Linear
|
||||
|
||||
end Lean.Meta.Linear
|
||||
52
stage0/src/Lean/Meta/Tactic/LinearArith/Nat.lean
generated
52
stage0/src/Lean/Meta/Tactic/LinearArith/Nat.lean
generated
|
|
@ -123,7 +123,12 @@ partial def toLinearCnstr? (e : Expr) : M (Option LinearCnstr) := do
|
|||
return some { eq := false, lhs := (← toLinearExpr (e.getArg! 0)), rhs := (← toLinearExpr (e.getArg! 1)) }
|
||||
else if declName == ``Nat.lt && numArgs == 2 then
|
||||
return some { eq := false, lhs := (← toLinearExpr (e.getArg! 0)).inc, rhs := (← toLinearExpr (e.getArg! 1)) }
|
||||
else if numArgs == 4 && (declName == ``LE.le || declName == ``GE.ge || declName == ``LT.lt || declName == ``GT.gt) then
|
||||
else if numArgs == 4 && (declName == ``GE.ge || declName == ``GT.gt) then
|
||||
if let some e ← unfoldDefinition? e then
|
||||
toLinearCnstr? e
|
||||
else
|
||||
return none
|
||||
else if numArgs == 4 && (declName == ``LE.le || declName == ``LT.lt) then
|
||||
if (← isDefEq (e.getArg! 0) (mkConst ``Nat)) then
|
||||
if let some e ← unfoldProjInst? e then
|
||||
toLinearCnstr? e
|
||||
|
|
@ -149,7 +154,7 @@ def toContextExpr (ctx : Array Expr) : MetaM Expr := do
|
|||
def reflTrue : Expr :=
|
||||
mkApp2 (mkConst ``Eq.refl [levelOne]) (mkConst ``Bool) (mkConst ``Bool.true)
|
||||
|
||||
def simpCnstr? (e : Expr) : MetaM (Option (Expr × Expr)) := do
|
||||
def simpCnstrPos? (e : Expr) : MetaM (Option (Expr × Expr)) := do
|
||||
let (some c, ctx) ← ToLinear.run (ToLinear.toLinearCnstr? e) | return none
|
||||
let c₁ := c.toPoly
|
||||
let c₂ := c₁.norm
|
||||
|
|
@ -159,7 +164,7 @@ def simpCnstr? (e : Expr) : MetaM (Option (Expr × Expr)) := do
|
|||
else if c₂.isValid then
|
||||
let p := mkApp3 (mkConst ``Nat.Linear.ExprCnstr.eq_true_of_isValid) (← toContextExpr ctx) (toExpr c) reflTrue
|
||||
return some (mkConst ``True, p)
|
||||
else if c₂.hasFewerMonomials c₁ then
|
||||
else if c₁ != c₂ then
|
||||
let c₂ : LinearCnstr := c₂.toExpr
|
||||
let p := mkApp4 (mkConst ``Nat.Linear.ExprCnstr.eq_of_toNormPoly_eq) (← toContextExpr ctx) (toExpr c) (toExpr c₂) reflTrue
|
||||
let r ← c₂.toArith ctx
|
||||
|
|
@ -167,4 +172,45 @@ def simpCnstr? (e : Expr) : MetaM (Option (Expr × Expr)) := do
|
|||
else
|
||||
return none
|
||||
|
||||
def simpCnstr? (e : Expr) : MetaM (Option (Expr × Expr)) := do
|
||||
if let some arg := e.not? then
|
||||
let mut eNew? := none
|
||||
let mut thmName := Name.anonymous
|
||||
if arg.isAppOfArity ``LE.le 4 then
|
||||
eNew? := some (← mkLE (← mkAdd (arg.getArg! 3) (mkNatLit 1)) (arg.getArg! 2))
|
||||
thmName := ``Nat.not_le_eq
|
||||
else if arg.isAppOfArity ``GE.ge 4 then
|
||||
eNew? := some (← mkLE (← mkAdd (arg.getArg! 2) (mkNatLit 1)) (arg.getArg! 3))
|
||||
thmName := ``Nat.not_ge_eq
|
||||
else if arg.isAppOfArity ``LT.lt 4 then
|
||||
eNew? := some (← mkLE (arg.getArg! 3) (arg.getArg! 2))
|
||||
thmName := ``Nat.not_lt_eq
|
||||
else if arg.isAppOfArity ``GT.gt 4 then
|
||||
eNew? := some (← mkLE (arg.getArg! 2) (arg.getArg! 3))
|
||||
thmName := ``Nat.not_gt_eq
|
||||
if let some eNew := eNew? then
|
||||
if let some (eNew', h₂) ← simpCnstrPos? eNew then
|
||||
let h₁ := mkApp2 (mkConst thmName) (arg.getArg! 2) (arg.getArg! 3)
|
||||
let h := mkApp6 (mkConst ``Eq.trans [levelOne]) (mkSort levelZero) e eNew eNew' h₁ h₂
|
||||
return some (eNew', h)
|
||||
else
|
||||
return none
|
||||
else
|
||||
return none
|
||||
else
|
||||
simpCnstrPos? e
|
||||
|
||||
def simpExpr? (e : Expr) : MetaM (Option (Expr × Expr)) := do
|
||||
let (e, ctx) ← ToLinear.run (ToLinear.toLinearExpr e)
|
||||
let p := e.toPoly
|
||||
let p' := p.norm
|
||||
if p'.length < p.length then
|
||||
-- We only return some if monomials were fused
|
||||
let e' : LinearExpr := p'.toExpr
|
||||
let p := mkApp4 (mkConst ``Nat.Linear.Expr.eq_of_toNormPoly_eq) (← toContextExpr ctx) (toExpr e) (toExpr e') reflTrue
|
||||
let r ← e'.toArith ctx
|
||||
return some (r, p)
|
||||
else
|
||||
return none
|
||||
|
||||
end Lean.Meta.Linear.Nat
|
||||
|
|
|
|||
48
stage0/src/Lean/Meta/Tactic/LinearArith/Simp.lean
generated
Normal file
48
stage0/src/Lean/Meta/Tactic/LinearArith/Simp.lean
generated
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
/-
|
||||
Copyright (c) 2022 Microsoft Corporation. All rights reserved.
|
||||
Released under Apache 2.0 license as described in the file LICENSE.
|
||||
Authors: Leonardo de Moura
|
||||
-/
|
||||
import Lean.Meta.Tactic.LinearArith.Nat
|
||||
|
||||
namespace Lean.Meta.Linear
|
||||
|
||||
/-- Quick filter simpExpr? -/
|
||||
private partial def isSimpExprTarget (e : Expr) : Bool :=
|
||||
let f := e.getAppFn
|
||||
if !f.isConst then
|
||||
false
|
||||
else
|
||||
let n := f.constName!
|
||||
n == ``HAdd.hAdd || n == ``HMul.hMul || n == ``HSub.hSub || n == ``Nat.succ
|
||||
|
||||
/-- Quick filter simpCnstr? -/
|
||||
private partial def isSimpCnstrTarget (e : Expr) : Bool :=
|
||||
let f := e.getAppFn
|
||||
if !f.isConst then
|
||||
false
|
||||
else
|
||||
let n := f.constName!
|
||||
if n == ``Eq || n == ``LT.lt || n == ``LE.le || n == ``GT.gt || n == ``GE.ge then
|
||||
true
|
||||
else if n == ``Not && e.getAppNumArgs == 1 then
|
||||
isSimpCnstrTarget e.appArg!
|
||||
else
|
||||
false
|
||||
|
||||
private def parentIsTarget (parent? : Option Expr) : Bool :=
|
||||
match parent? with
|
||||
| none => false
|
||||
| some parent => isSimpExprTarget parent || isSimpCnstrTarget parent
|
||||
|
||||
def simp? (e : Expr) (parent? : Option Expr) : MetaM (Option (Expr × Expr)) := do
|
||||
-- TODO: add support for `Int` and arbitrary ordered comm rings
|
||||
if isSimpCnstrTarget e then
|
||||
Nat.simpCnstr? e
|
||||
else if isSimpExprTarget e && !parentIsTarget parent? then
|
||||
trace[Meta.Tactic.simp] "arith expr: {e}"
|
||||
Nat.simpExpr? e
|
||||
else
|
||||
return none
|
||||
|
||||
end Lean.Meta.Linear
|
||||
22
stage0/src/Lean/Meta/Tactic/Simp/Main.lean
generated
22
stage0/src/Lean/Meta/Tactic/Simp/Main.lean
generated
|
|
@ -20,18 +20,23 @@ builtin_initialize congrHypothesisExceptionId : InternalExceptionId ←
|
|||
def throwCongrHypothesisFailed : MetaM α :=
|
||||
throw <| Exception.internal congrHypothesisExceptionId
|
||||
|
||||
/--
|
||||
Helper method for bootstrapping purposes. It disables `arith` if support theorems have not been defined yet.
|
||||
-/
|
||||
def Config.updateArith (c : Config) : CoreM Config := do
|
||||
if c.arith then
|
||||
if (← getEnv).contains ``Nat.Linear.ExprCnstr.eq_of_toNormPoly_eq then
|
||||
return c
|
||||
else
|
||||
return { c with arith := false }
|
||||
else
|
||||
return c
|
||||
|
||||
def Result.getProof (r : Result) : MetaM Expr := do
|
||||
match r.proof? with
|
||||
| some p => return p
|
||||
| none => mkEqRefl r.expr
|
||||
|
||||
private def mkEqTrans (r₁ r₂ : Result) : MetaM Result := do
|
||||
match r₁.proof? with
|
||||
| none => return r₂
|
||||
| some p₁ => match r₂.proof? with
|
||||
| none => return { r₂ with proof? := r₁.proof? }
|
||||
| some p₂ => return { r₂ with proof? := (← Meta.mkEqTrans p₁ p₂) }
|
||||
|
||||
def mkCongrFun (r : Result) (a : Expr) : MetaM Result :=
|
||||
match r.proof? with
|
||||
| none => return { expr := mkApp r.expr a, proof? := none }
|
||||
|
|
@ -552,7 +557,8 @@ where
|
|||
modify fun s => { s with cache := s.cache.insert e r }
|
||||
return r
|
||||
|
||||
def main (e : Expr) (ctx : Context) (methods : Methods := {}) : MetaM Result :=
|
||||
def main (e : Expr) (ctx : Context) (methods : Methods := {}) : MetaM Result := do
|
||||
let ctx := { ctx with config := (← ctx.config.updateArith) }
|
||||
withConfig (fun c => { c with etaStruct := ctx.config.etaStruct }) <| withReducible do
|
||||
try
|
||||
simp e methods ctx |>.run' {}
|
||||
|
|
|
|||
42
stage0/src/Lean/Meta/Tactic/Simp/Rewrite.lean
generated
42
stage0/src/Lean/Meta/Tactic/Simp/Rewrite.lean
generated
|
|
@ -7,9 +7,17 @@ import Lean.Meta.ACLt
|
|||
import Lean.Meta.AppBuilder
|
||||
import Lean.Meta.SynthInstance
|
||||
import Lean.Meta.Tactic.Simp.Types
|
||||
import Lean.Meta.Tactic.LinearArith.Simp
|
||||
|
||||
namespace Lean.Meta.Simp
|
||||
|
||||
def mkEqTrans (r₁ r₂ : Result) : MetaM Result := do
|
||||
match r₁.proof? with
|
||||
| none => return r₂
|
||||
| some p₁ => match r₂.proof? with
|
||||
| none => return { r₂ with proof? := r₁.proof? }
|
||||
| some p₂ => return { r₂ with proof? := (← Meta.mkEqTrans p₁ p₂) }
|
||||
|
||||
def synthesizeArgs (thmName : Name) (xs : Array Expr) (bis : Array BinderInfo) (discharge? : Expr → SimpM (Option Expr)) : SimpM Bool := do
|
||||
for x in xs, bi in bis do
|
||||
let type ← inferType x
|
||||
|
|
@ -134,6 +142,15 @@ where
|
|||
| none => false
|
||||
| some name => erased.contains name
|
||||
|
||||
@[inline] def andThen (s : Step) (f? : Expr → SimpM (Option Step)) : SimpM Step := do
|
||||
match s with
|
||||
| Step.done r => return s
|
||||
| Step.visit r =>
|
||||
if let some s' ← f? r.expr then
|
||||
return s'.updateResult (← mkEqTrans r s'.result)
|
||||
else
|
||||
return s
|
||||
|
||||
def rewriteCtorEq? (e : Expr) : MetaM (Option Result) := withReducibleAndInstances do
|
||||
match e.eq? with
|
||||
| none => return none
|
||||
|
|
@ -150,10 +167,10 @@ def rewriteCtorEq? (e : Expr) : MetaM (Option Result) := withReducibleAndInstanc
|
|||
return none
|
||||
| _, _ => return none
|
||||
|
||||
@[inline] def tryRewriteCtorEq (e : Expr) (x : SimpM Step) : SimpM Step := do
|
||||
@[inline] def tryRewriteCtorEq? (e : Expr) : SimpM (Option Step) := do
|
||||
match (← rewriteCtorEq? e) with
|
||||
| some r => return Step.done r
|
||||
| none => x
|
||||
| none => return none
|
||||
|
||||
def rewriteUsingDecide? (e : Expr) : MetaM (Option Result) := withReducibleAndInstances do
|
||||
if e.hasFVar || e.hasMVar || e.isConstOf ``True || e.isConstOf ``False then
|
||||
|
|
@ -172,13 +189,18 @@ def rewriteUsingDecide? (e : Expr) : MetaM (Option Result) := withReducibleAndIn
|
|||
catch _ =>
|
||||
return none
|
||||
|
||||
@[inline] def tryRewriteUsingDecide (e : Expr) (x : SimpM Step) : SimpM Step := do
|
||||
@[inline] def tryRewriteUsingDecide? (e : Expr) : SimpM (Option Step) := do
|
||||
if (← read).config.decide then
|
||||
match (← rewriteUsingDecide? e) with
|
||||
| some r => return Step.done r
|
||||
| none => x
|
||||
| none => return none
|
||||
else
|
||||
x
|
||||
return none
|
||||
|
||||
def simpArith? (e : Expr) : SimpM (Option Step) := do
|
||||
if !(← read).config.arith then return none
|
||||
let some (e', h) ← Linear.simp? e (← read).parent? | return none
|
||||
return Step.visit { expr := e', proof? := h }
|
||||
|
||||
def rewritePre (e : Expr) (discharge? : Expr → SimpM (Option Expr)) : SimpM Step := do
|
||||
let thms := (← read).simpTheorems
|
||||
|
|
@ -188,10 +210,14 @@ def rewritePost (e : Expr) (discharge? : Expr → SimpM (Option Expr)) : SimpM S
|
|||
let thms := (← read).simpTheorems
|
||||
return Step.visit (← rewrite e thms.post thms.erased discharge? (tag := "post"))
|
||||
|
||||
def preDefault (e : Expr) (discharge? : Expr → SimpM (Option Expr)) : SimpM Step :=
|
||||
tryRewriteCtorEq e <| rewritePre e discharge?
|
||||
def preDefault (e : Expr) (discharge? : Expr → SimpM (Option Expr)) : SimpM Step := do
|
||||
let s ← rewritePre e discharge?
|
||||
andThen s tryRewriteUsingDecide?
|
||||
|
||||
def postDefault (e : Expr) (discharge? : Expr → SimpM (Option Expr)) : SimpM Step := do
|
||||
tryRewriteCtorEq e <| tryRewriteUsingDecide e <| rewritePost e discharge?
|
||||
let s ← rewritePost e discharge?
|
||||
let s ← andThen s simpArith?
|
||||
let s ← andThen s tryRewriteUsingDecide?
|
||||
andThen s tryRewriteCtorEq?
|
||||
|
||||
end Lean.Meta.Simp
|
||||
|
|
|
|||
4
stage0/src/Lean/Meta/Tactic/Simp/Types.lean
generated
4
stage0/src/Lean/Meta/Tactic/Simp/Types.lean
generated
|
|
@ -51,6 +51,10 @@ def Step.result : Step → Result
|
|||
| Step.visit r => r
|
||||
| Step.done r => r
|
||||
|
||||
def Step.updateResult : Step → Result → Step
|
||||
| Step.visit _, r => Step.visit r
|
||||
| Step.done _, r => Step.done r
|
||||
|
||||
structure Methods where
|
||||
pre : Expr → SimpM Step := fun e => return Step.visit { expr := e }
|
||||
post : Expr → SimpM Step := fun e => return Step.done { expr := e }
|
||||
|
|
|
|||
11
stage0/src/Lean/Server/FileWorker.lean
generated
11
stage0/src/Lean/Server/FileWorker.lean
generated
|
|
@ -104,7 +104,7 @@ section Elab
|
|||
publishIleanInfoFinal m ctx.hOut <| s.snaps.insertAt 0 s.headerSnap
|
||||
return none
|
||||
publishProgressAtPos m lastSnap.endPos ctx.hOut
|
||||
let snap ← compileNextCmd m.text lastSnap ctx.clientHasWidgets
|
||||
let snap ← compileNextCmd m.mkInputContext lastSnap ctx.clientHasWidgets
|
||||
set { s with snaps := s.snaps.push snap }
|
||||
-- TODO(MH): check for interrupt with increased precision
|
||||
cancelTk.check
|
||||
|
|
@ -192,8 +192,7 @@ section Initialization
|
|||
|
||||
def compileHeader (m : DocumentMeta) (hOut : FS.Stream) (opts : Options) (hasWidgets : Bool)
|
||||
: IO (Snapshot × SearchPath) := do
|
||||
let inputCtx := Parser.mkInputContext m.text.source "<input>"
|
||||
let (headerStx, headerParserState, msgLog) ← Parser.parseHeader inputCtx
|
||||
let (headerStx, headerParserState, msgLog) ← Parser.parseHeader m.mkInputContext
|
||||
let mut srcSearchPath ← initSrcSearchPath (← getBuildDir)
|
||||
let lakePath ← match (← IO.getEnv "LAKE") with
|
||||
| some path => pure <| System.FilePath.mk path
|
||||
|
|
@ -209,7 +208,7 @@ section Initialization
|
|||
if path.fileName != "lakefile.lean" && (← System.FilePath.pathExists lakePath) then
|
||||
let pkgSearchPath ← lakeSetupSearchPath lakePath m (Lean.Elab.headerToImports headerStx).toArray hOut
|
||||
srcSearchPath := pkgSearchPath ++ srcSearchPath
|
||||
Elab.processHeader headerStx opts msgLog inputCtx
|
||||
Elab.processHeader headerStx opts msgLog m.mkInputContext
|
||||
catch e => -- should be from `lake print-paths`
|
||||
let msgs := MessageLog.empty.add { fileName := "<ignored>", pos := ⟨0, 0⟩, data := e.toString }
|
||||
pure (← mkEmptyEnvironment, msgs)
|
||||
|
|
@ -277,7 +276,7 @@ section Updates
|
|||
-- need to reparse the header so that the offsets are correct.
|
||||
let ctx ← read
|
||||
let oldDoc := (←get).doc
|
||||
let newHeaderSnap ← reparseHeader newMeta.text.source oldDoc.headerSnap
|
||||
let newHeaderSnap ← reparseHeader newMeta.mkInputContext oldDoc.headerSnap
|
||||
if newHeaderSnap.stx != oldDoc.headerSnap.stx then
|
||||
throwServerError "Internal server error: header changed but worker wasn't restarted."
|
||||
let ⟨cmdSnaps, e?⟩ ← oldDoc.cmdSnaps.updateFinishedPrefix
|
||||
|
|
@ -307,7 +306,7 @@ section Updates
|
|||
let preLastSnap := if validSnaps.length ≥ 2
|
||||
then validSnaps.get! (validSnaps.length - 2)
|
||||
else newHeaderSnap
|
||||
let newLastStx ← parseNextCmd newMeta.text.source preLastSnap
|
||||
let newLastStx ← parseNextCmd newMeta.mkInputContext preLastSnap
|
||||
if newLastStx != lastSnap.stx then
|
||||
validSnaps := validSnaps.dropLast
|
||||
let cancelTk ← CancelToken.new
|
||||
|
|
|
|||
|
|
@ -267,7 +267,7 @@ partial def handleDocumentSymbol (p : DocumentSymbolParams)
|
|||
| _ => pure ()
|
||||
|
||||
let lastSnap := cmdSnaps.finishedPrefix.getLastD doc.headerSnap
|
||||
stxs := stxs ++ (← parseAhead doc.meta.text.source lastSnap).toList
|
||||
stxs := stxs ++ (← parseAhead doc.meta.mkInputContext lastSnap).toList
|
||||
let (syms, _) := toDocumentSymbols doc.meta.text stxs
|
||||
return { syms := syms.toArray }
|
||||
where
|
||||
|
|
|
|||
14
stage0/src/Lean/Server/Snapshots.lean
generated
14
stage0/src/Lean/Server/Snapshots.lean
generated
|
|
@ -61,15 +61,13 @@ def isAtEnd (s : Snapshot) : Bool :=
|
|||
end Snapshot
|
||||
|
||||
/-- Reparses the header syntax but does not re-elaborate it. Used to ignore whitespace-only changes. -/
|
||||
def reparseHeader (contents : String) (header : Snapshot) (opts : Options := {}) : IO Snapshot := do
|
||||
let inputCtx := Parser.mkInputContext contents "<input>"
|
||||
def reparseHeader (inputCtx : Parser.InputContext) (header : Snapshot) (opts : Options := {}) : IO Snapshot := do
|
||||
let (newStx, newMpState, _) ← Parser.parseHeader inputCtx
|
||||
pure { header with stx := newStx, mpState := newMpState }
|
||||
|
||||
/-- Parses the next command occurring after the given snapshot
|
||||
without elaborating it. -/
|
||||
def parseNextCmd (contents : String) (snap : Snapshot) : IO Syntax := do
|
||||
let inputCtx := Parser.mkInputContext contents "<input>"
|
||||
def parseNextCmd (inputCtx : Parser.InputContext) (snap : Snapshot) : IO Syntax := do
|
||||
let cmdState := snap.cmdState
|
||||
let scope := cmdState.scopes.head!
|
||||
let pmctx := { env := cmdState.env, options := scope.opts, currNamespace := scope.currNamespace, openDecls := scope.openDecls }
|
||||
|
|
@ -80,8 +78,7 @@ def parseNextCmd (contents : String) (snap : Snapshot) : IO Syntax := do
|
|||
/--
|
||||
Parse remaining file without elaboration. NOTE that doing so can lead to parse errors or even wrong syntax objects,
|
||||
so it should only be done for reporting preliminary results! -/
|
||||
partial def parseAhead (contents : String) (snap : Snapshot) : IO (Array Syntax) := do
|
||||
let inputCtx := Parser.mkInputContext contents "<input>"
|
||||
partial def parseAhead (inputCtx : Parser.InputContext) (snap : Snapshot) : IO (Array Syntax) := do
|
||||
let cmdState := snap.cmdState
|
||||
let scope := cmdState.scopes.head!
|
||||
let pmctx := { env := cmdState.env, options := scope.opts, currNamespace := scope.currNamespace, openDecls := scope.openDecls }
|
||||
|
|
@ -99,8 +96,7 @@ partial def parseAhead (contents : String) (snap : Snapshot) : IO (Array Syntax)
|
|||
-- NOTE: This code is really very similar to Elab.Frontend. But generalizing it
|
||||
-- over "store snapshots"/"don't store snapshots" would likely result in confusing
|
||||
-- isServer? conditionals and not be worth it due to how short it is.
|
||||
def compileNextCmd (text : FileMap) (snap : Snapshot) (hasWidgets : Bool) : IO Snapshot := do
|
||||
let inputCtx := Parser.mkInputContext text.source "<input>"
|
||||
def compileNextCmd (inputCtx : Parser.InputContext) (snap : Snapshot) (hasWidgets : Bool) : IO Snapshot := do
|
||||
let cmdState := snap.cmdState
|
||||
let scope := cmdState.scopes.head!
|
||||
let pmctx := { env := cmdState.env, options := scope.opts, currNamespace := scope.currNamespace, openDecls := scope.openDecls }
|
||||
|
|
@ -156,7 +152,7 @@ where
|
|||
let mut ret := snap.interactiveDiags
|
||||
for i in List.iota newMsgCount do
|
||||
let newMsg := msgLog.msgs.get! (msgLog.msgs.size - i)
|
||||
ret := ret.push (← Widget.msgToInteractiveDiagnostic text newMsg hasWidgets)
|
||||
ret := ret.push (← Widget.msgToInteractiveDiagnostic inputCtx.fileMap newMsg hasWidgets)
|
||||
return ret
|
||||
|
||||
end Lean.Server.Snapshots
|
||||
|
|
|
|||
6
stage0/src/Lean/Server/Utils.lean
generated
6
stage0/src/Lean/Server/Utils.lean
generated
|
|
@ -8,6 +8,7 @@ import Lean.Data.Position
|
|||
import Lean.Data.Lsp
|
||||
import Lean.Server.InfoUtils
|
||||
import Init.System.FilePath
|
||||
import Lean.Parser.Basic
|
||||
|
||||
namespace IO
|
||||
|
||||
|
|
@ -93,6 +94,11 @@ structure DocumentMeta where
|
|||
text : FileMap
|
||||
deriving Inhabited
|
||||
|
||||
def DocumentMeta.mkInputContext (doc : DocumentMeta) : Parser.InputContext where
|
||||
input := doc.text.source
|
||||
fileName := doc.uri.toPath?.getD doc.uri |>.toString
|
||||
fileMap := doc.text
|
||||
|
||||
def replaceLspRange (text : FileMap) (r : Lsp.Range) (newText : String) : FileMap :=
|
||||
let start := text.lspPosToUtf8Pos r.start
|
||||
let «end» := text.lspPosToUtf8Pos r.«end»
|
||||
|
|
|
|||
4
stage0/src/Lean/Util/Path.lean
generated
4
stage0/src/Lean/Util/Path.lean
generated
|
|
@ -83,7 +83,7 @@ def addSearchPathFromEnv (sp : SearchPath) : IO SearchPath := do
|
|||
/--
|
||||
Initialize Lean's search path given Lean's system root and an initial search path.
|
||||
The system root can be obtained via `getBuildDir` (for internal use) or
|
||||
`findSysroot?` (for external users). -/
|
||||
`findSysroot` (for external users). -/
|
||||
def initSearchPath (leanSysroot : FilePath) (sp : SearchPath := ∅) : IO Unit := do
|
||||
let sp := sp ++ (← addSearchPathFromEnv (← getBuiltinSearchPath leanSysroot))
|
||||
searchPathRef.set sp
|
||||
|
|
@ -146,7 +146,7 @@ def searchModuleNameOfFileName (fname : FilePath) (rootDirs : SearchPath) : IO (
|
|||
e.g. in the case of `elan`'s proxy binary.
|
||||
Users internal to Lean should use `Lean.getBuildDir` instead.
|
||||
-/
|
||||
def findSysroot? (lean := "lean") : IO FilePath := do
|
||||
def findSysroot (lean := "lean") : IO FilePath := do
|
||||
if let some root ← IO.getEnv "LEAN_SYSROOT" then
|
||||
return root
|
||||
let out ← IO.Process.run {
|
||||
|
|
|
|||
43
stage0/stdlib/Init/Data/Nat/Linear.c
generated
43
stage0/stdlib/Init/Data/Nat/Linear.c
generated
|
|
@ -15,12 +15,11 @@ extern "C" {
|
|||
#endif
|
||||
lean_object* l_List_reverse___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_ExprCnstr_toPoly(lean_object*);
|
||||
LEAN_EXPORT uint8_t l_List_beq___at___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1258____spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Poly_mul_go(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_PolyCnstr_norm(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Poly_cancelAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Certificate_combine___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1258____boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_List_beq___at___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1266____spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_fixedVar;
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Poly_cancel(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Poly_sort_go(lean_object*, lean_object*);
|
||||
|
|
@ -41,8 +40,10 @@ lean_object* lean_nat_add(lean_object*, lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Nat_Linear_Certificate_combine(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Var_denote(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Poly_sort(lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1266____boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Expr_denote(lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_beq___at___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1266____spec__1___boxed(lean_object*, lean_object*);
|
||||
lean_object* lean_nat_sub(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Poly_toExpr_go(lean_object*, lean_object*);
|
||||
static lean_object* l_Nat_Linear_instInhabitedExpr___closed__1;
|
||||
|
|
@ -56,9 +57,8 @@ LEAN_EXPORT lean_object* l_Nat_Linear_instBEqPolyCnstr;
|
|||
LEAN_EXPORT uint8_t l_Nat_Linear_PolyCnstr_isValid(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_PolyCnstr_isUnsat___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_PolyCnstr_mul(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_beq___at___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1258____spec__1___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_ExprCnstr_toNormPoly(lean_object*);
|
||||
LEAN_EXPORT uint8_t l___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1258_(lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1266_(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Poly_toExpr(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Expr_toNormPoly(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Expr_toPoly___boxed(lean_object*);
|
||||
|
|
@ -70,6 +70,7 @@ LEAN_EXPORT uint8_t l_Nat_Linear_Poly_isNonZero(lean_object*);
|
|||
lean_object* lean_nat_mul(lean_object*, lean_object*);
|
||||
static lean_object* l_Nat_Linear_Certificate_combine___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_ExprCnstr_toPoly___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Poly_norm(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Poly_isNonZero___boxed(lean_object*);
|
||||
lean_object* l_List_lengthTRAux___rarg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Poly_isNum_x3f(lean_object*);
|
||||
|
|
@ -2145,14 +2146,22 @@ lean_dec(x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Poly_norm(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
x_2 = l_Nat_Linear_Poly_sort(x_1);
|
||||
x_3 = l_Nat_Linear_Poly_fuse(x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Expr_toNormPoly(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
x_2 = l_Nat_Linear_Expr_toPoly(x_1);
|
||||
x_3 = l_Nat_Linear_Poly_sort(x_2);
|
||||
x_4 = l_Nat_Linear_Poly_fuse(x_3);
|
||||
return x_4;
|
||||
x_3 = l_Nat_Linear_Poly_norm(x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Nat_Linear_Expr_toNormPoly___boxed(lean_object* x_1) {
|
||||
|
|
@ -2185,7 +2194,7 @@ lean_ctor_set(x_3, 1, x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l_List_beq___at___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1258____spec__1(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT uint8_t l_List_beq___at___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1266____spec__1(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 0)
|
||||
|
|
@ -2250,7 +2259,7 @@ goto _start;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1258_(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT uint8_t l___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1266_(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9;
|
||||
|
|
@ -2305,7 +2314,7 @@ return x_10;
|
|||
else
|
||||
{
|
||||
uint8_t x_11;
|
||||
x_11 = l_List_beq___at___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1258____spec__1(x_4, x_7);
|
||||
x_11 = l_List_beq___at___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1266____spec__1(x_4, x_7);
|
||||
if (x_11 == 0)
|
||||
{
|
||||
uint8_t x_12;
|
||||
|
|
@ -2315,29 +2324,29 @@ return x_12;
|
|||
else
|
||||
{
|
||||
uint8_t x_13;
|
||||
x_13 = l_List_beq___at___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1258____spec__1(x_5, x_8);
|
||||
x_13 = l_List_beq___at___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1266____spec__1(x_5, x_8);
|
||||
return x_13;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_List_beq___at___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1258____spec__1___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l_List_beq___at___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1266____spec__1___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; lean_object* x_4;
|
||||
x_3 = l_List_beq___at___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1258____spec__1(x_1, x_2);
|
||||
x_3 = l_List_beq___at___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1266____spec__1(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_4 = lean_box(x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1258____boxed(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1266____boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; lean_object* x_4;
|
||||
x_3 = l___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1258_(x_1, x_2);
|
||||
x_3 = l___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1266_(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_4 = lean_box(x_3);
|
||||
|
|
@ -2348,7 +2357,7 @@ static lean_object* _init_l_Nat_Linear_instBEqPolyCnstr___closed__1() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1258____boxed), 2, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l___private_Init_Data_Nat_Linear_0__Nat_Linear_beqPolyCnstr____x40_Init_Data_Nat_Linear___hyg_1266____boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
1086
stage0/stdlib/Init/Meta.c
generated
1086
stage0/stdlib/Init/Meta.c
generated
File diff suppressed because it is too large
Load diff
147
stage0/stdlib/Init/Notation.c
generated
147
stage0/stdlib/Init/Notation.c
generated
|
|
@ -59,6 +59,7 @@ static lean_object* l_term___u2264_____closed__3;
|
|||
LEAN_EXPORT lean_object* l_term___x5e_x5e_x5e__;
|
||||
static lean_object* l_Lean_Parser_Syntax_addPrec___closed__4;
|
||||
static lean_object* l_Lean_Parser_Tactic_first___closed__8;
|
||||
LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_fail;
|
||||
static lean_object* l___aux__Init__Notation______macroRules__term___x5e____1___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_first;
|
||||
static lean_object* l_Lean_Parser_Tactic_letrec___closed__12;
|
||||
|
|
@ -238,6 +239,7 @@ static lean_object* l___aux__Init__Notation______macroRules__term___x3d_x3d____1
|
|||
static lean_object* l___aux__Init__Notation______macroRules__termWithout__expected__type____1___closed__3;
|
||||
static lean_object* l_term___x3e_x3e_x3d_____closed__3;
|
||||
static lean_object* l_term___x3c_x3c_x3c_____closed__7;
|
||||
static lean_object* l_Lean_Parser_Tactic_fail___closed__10;
|
||||
static lean_object* l_Lean_Parser_Tactic_rwRuleSeq___closed__2;
|
||||
static lean_object* l_term___x7c_x3e_____closed__1;
|
||||
static lean_object* l_term_u2039___u203a___closed__5;
|
||||
|
|
@ -271,6 +273,7 @@ static lean_object* l_term___x7c_x7c_____closed__5;
|
|||
static lean_object* l_Lean_Parser_Tactic_location___closed__3;
|
||||
static lean_object* l_Lean_Parser_Tactic_refine_x27___closed__6;
|
||||
static lean_object* l___aux__Init__Notation______macroRules__term___x3c_x3c_x3c____1___closed__9;
|
||||
static lean_object* l_Lean_Parser_Tactic_fail___closed__7;
|
||||
static lean_object* l_prioLow___closed__3;
|
||||
static lean_object* l_Lean_Parser_Tactic_clear___closed__6;
|
||||
LEAN_EXPORT lean_object* l___aux__Init__Notation______macroRules__term___u2264____2(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -480,6 +483,7 @@ static lean_object* l___aux__Init__Notation______macroRules__term___x3c_x2a_x3e_
|
|||
static lean_object* l_Lean_Parser_Tactic_generalize___closed__3;
|
||||
static lean_object* l_Lean_Parser_Tactic_split___closed__7;
|
||||
static lean_object* l___aux__Init__Notation______macroRules__term_x2d____1___closed__7;
|
||||
static lean_object* l_Lean_Parser_Tactic_fail___closed__9;
|
||||
LEAN_EXPORT lean_object* l___aux__Init__Notation______unexpand__Functor__map__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Parser_Tactic_tacticHave_x27_____closed__6;
|
||||
static lean_object* l_Lean_Parser_Tactic_revert___closed__4;
|
||||
|
|
@ -828,6 +832,7 @@ static lean_object* l_stx___x3f___closed__3;
|
|||
static lean_object* l_Lean___aux__Init__Notation______macroRules__Lean__term__Matches____1___closed__4;
|
||||
static lean_object* l___aux__Init__Notation______macroRules__termDepIfThenElse__1___closed__10;
|
||||
static lean_object* l_Lean_Parser_Tactic___aux__Init__Notation______macroRules__Lean__Parser__Tactic__letrec__1___closed__1;
|
||||
static lean_object* l_Lean_Parser_Tactic_fail___closed__2;
|
||||
static lean_object* l_Lean_Parser_Tactic_intro___closed__11;
|
||||
static lean_object* l_Lean_Parser_Tactic_discharger___closed__8;
|
||||
LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_focus;
|
||||
|
|
@ -956,6 +961,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_tacticRefine__lift_x27__;
|
|||
static lean_object* l_term___x5e_x5e_x5e_____closed__7;
|
||||
static lean_object* l_Lean_Parser_Tactic_simp___closed__13;
|
||||
static lean_object* l_Lean_Parser_Tactic_injection___closed__6;
|
||||
static lean_object* l_Lean_Parser_Tactic_fail___closed__1;
|
||||
static lean_object* l_Lean_Parser_Tactic___aux__Init__Notation______macroRules__Lean__Parser__Tactic__tacticShow____1___closed__3;
|
||||
LEAN_EXPORT lean_object* l___aux__Init__Notation______macroRules__term_xac____1(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Parser_Syntax_addPrio___closed__2;
|
||||
|
|
@ -1266,6 +1272,7 @@ static lean_object* l___aux__Init__Notation______macroRules__term___x3c_x7c_x3e_
|
|||
LEAN_EXPORT lean_object* l___aux__Init__Notation______macroRules__prioDefault__1(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___aux__Init__Notation______macroRules__term___x3c_x2a_x3e____1___closed__18;
|
||||
static lean_object* l_Lean_Parser_Tactic_case___closed__5;
|
||||
static lean_object* l_Lean_Parser_Tactic_fail___closed__8;
|
||||
LEAN_EXPORT lean_object* l_term___u2218__;
|
||||
static lean_object* l___aux__Init__Notation______macroRules__term___x3d____1___closed__3;
|
||||
static lean_object* l___aux__Init__Notation______macroRules__precMax__1___closed__1;
|
||||
|
|
@ -1279,6 +1286,7 @@ LEAN_EXPORT lean_object* l___aux__Init__Notation______macroRules__precMin__1(lea
|
|||
static lean_object* l___aux__Init__Notation______macroRules__term___x3c_x24_x3e____1___closed__9;
|
||||
static lean_object* l_Lean_Parser_Tactic_tacticHave_x27_____x3a_x3d_____closed__5;
|
||||
static lean_object* l_term___x5e_____closed__1;
|
||||
static lean_object* l_Lean_Parser_Tactic_fail___closed__4;
|
||||
static lean_object* l_Lean_Parser_Tactic_subst___closed__5;
|
||||
static lean_object* l_Lean_Parser_Tactic_inductionAlt___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_subst;
|
||||
|
|
@ -1425,6 +1433,7 @@ static lean_object* l_term___x2b_x2b_____closed__1;
|
|||
static lean_object* l_stx___x3c_x7c_x3e_____closed__7;
|
||||
static lean_object* l_Lean_Parser_Tactic_changeWith___closed__6;
|
||||
static lean_object* l_Lean_Parser_Tactic_simpPre___closed__2;
|
||||
static lean_object* l_Lean_Parser_Tactic_fail___closed__3;
|
||||
LEAN_EXPORT lean_object* l___aux__Init__Notation______macroRules__term___x3e_x3d____2(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___aux__Init__Notation______macroRules__term___u2218____1___closed__7;
|
||||
static lean_object* l_Lean_Parser_Tactic___aux__Init__Notation______macroRules__Lean__Parser__Tactic__tacticUnhygienic____1___closed__2;
|
||||
|
|
@ -1847,6 +1856,7 @@ static lean_object* l_Lean_Parser_Tactic_change___closed__7;
|
|||
static lean_object* l_term___x3c_x2a_x3e_____closed__2;
|
||||
static lean_object* l_prec_x28___x29___closed__3;
|
||||
static lean_object* l_term_x5b___x5d___closed__1;
|
||||
static lean_object* l_Lean_Parser_Tactic_fail___closed__5;
|
||||
static lean_object* l_stx___x2c_x2b_x2c_x3f___closed__1;
|
||||
static lean_object* l_term___x24_______closed__7;
|
||||
LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_discharger;
|
||||
|
|
@ -1870,6 +1880,7 @@ static lean_object* l_Lean___aux__Init__Notation______macroRules__Lean__term__Ma
|
|||
static lean_object* l___aux__Init__Notation______macroRules__stx___x3f__1___closed__4;
|
||||
static lean_object* l_term_u2039___u203a___closed__8;
|
||||
LEAN_EXPORT lean_object* l_precMin1;
|
||||
static lean_object* l_Lean_Parser_Tactic_fail___closed__6;
|
||||
static lean_object* l_Lean___aux__Init__Notation______macroRules__Lean__term__Matches____1___closed__5;
|
||||
static lean_object* l_Lean_Parser_Tactic_rotateLeft___closed__1;
|
||||
static lean_object* l_Lean_term__Matches_____closed__1;
|
||||
|
|
@ -43519,6 +43530,120 @@ return x_73;
|
|||
}
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_fail___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("fail");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_fail___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Tactic_intro___closed__2;
|
||||
x_2 = l_Lean_Parser_Tactic_fail___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_fail___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("fail ");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_fail___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; uint8_t x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Tactic_fail___closed__3;
|
||||
x_2 = 0;
|
||||
x_3 = lean_alloc_ctor(6, 1, 1);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_fail___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("str");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_fail___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Parser_Tactic_fail___closed__5;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_fail___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Parser_Tactic_fail___closed__6;
|
||||
x_2 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_fail___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l___aux__Init__Notation______macroRules__stx___x3f__1___closed__4;
|
||||
x_2 = l_Lean_Parser_Tactic_fail___closed__7;
|
||||
x_3 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
lean_ctor_set(x_3, 1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_fail___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Parser_Syntax_addPrec___closed__10;
|
||||
x_2 = l_Lean_Parser_Tactic_fail___closed__4;
|
||||
x_3 = l_Lean_Parser_Tactic_fail___closed__8;
|
||||
x_4 = lean_alloc_ctor(2, 3, 0);
|
||||
lean_ctor_set(x_4, 0, x_1);
|
||||
lean_ctor_set(x_4, 1, x_2);
|
||||
lean_ctor_set(x_4, 2, x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_fail___closed__10() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Parser_Tactic_fail___closed__2;
|
||||
x_2 = lean_unsigned_to_nat(1022u);
|
||||
x_3 = l_Lean_Parser_Tactic_fail___closed__9;
|
||||
x_4 = lean_alloc_ctor(3, 3, 0);
|
||||
lean_ctor_set(x_4, 0, x_1);
|
||||
lean_ctor_set(x_4, 1, x_2);
|
||||
lean_ctor_set(x_4, 2, x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_fail() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = l_Lean_Parser_Tactic_fail___closed__10;
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Attr_simp___closed__1() {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -47781,6 +47906,28 @@ l_Lean_Parser_Tactic___aux__Init__Notation______macroRules__Lean__Parser__Tactic
|
|||
lean_mark_persistent(l_Lean_Parser_Tactic___aux__Init__Notation______macroRules__Lean__Parser__Tactic__tacticUnhygienic____1___closed__7);
|
||||
l_Lean_Parser_Tactic___aux__Init__Notation______macroRules__Lean__Parser__Tactic__tacticUnhygienic____1___closed__8 = _init_l_Lean_Parser_Tactic___aux__Init__Notation______macroRules__Lean__Parser__Tactic__tacticUnhygienic____1___closed__8();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic___aux__Init__Notation______macroRules__Lean__Parser__Tactic__tacticUnhygienic____1___closed__8);
|
||||
l_Lean_Parser_Tactic_fail___closed__1 = _init_l_Lean_Parser_Tactic_fail___closed__1();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_fail___closed__1);
|
||||
l_Lean_Parser_Tactic_fail___closed__2 = _init_l_Lean_Parser_Tactic_fail___closed__2();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_fail___closed__2);
|
||||
l_Lean_Parser_Tactic_fail___closed__3 = _init_l_Lean_Parser_Tactic_fail___closed__3();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_fail___closed__3);
|
||||
l_Lean_Parser_Tactic_fail___closed__4 = _init_l_Lean_Parser_Tactic_fail___closed__4();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_fail___closed__4);
|
||||
l_Lean_Parser_Tactic_fail___closed__5 = _init_l_Lean_Parser_Tactic_fail___closed__5();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_fail___closed__5);
|
||||
l_Lean_Parser_Tactic_fail___closed__6 = _init_l_Lean_Parser_Tactic_fail___closed__6();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_fail___closed__6);
|
||||
l_Lean_Parser_Tactic_fail___closed__7 = _init_l_Lean_Parser_Tactic_fail___closed__7();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_fail___closed__7);
|
||||
l_Lean_Parser_Tactic_fail___closed__8 = _init_l_Lean_Parser_Tactic_fail___closed__8();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_fail___closed__8);
|
||||
l_Lean_Parser_Tactic_fail___closed__9 = _init_l_Lean_Parser_Tactic_fail___closed__9();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_fail___closed__9);
|
||||
l_Lean_Parser_Tactic_fail___closed__10 = _init_l_Lean_Parser_Tactic_fail___closed__10();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_fail___closed__10);
|
||||
l_Lean_Parser_Tactic_fail = _init_l_Lean_Parser_Tactic_fail();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_fail);
|
||||
l_Lean_Parser_Attr_simp___closed__1 = _init_l_Lean_Parser_Attr_simp___closed__1();
|
||||
lean_mark_persistent(l_Lean_Parser_Attr_simp___closed__1);
|
||||
l_Lean_Parser_Attr_simp___closed__2 = _init_l_Lean_Parser_Attr_simp___closed__2();
|
||||
|
|
|
|||
4243
stage0/stdlib/Init/WFTactics.c
generated
4243
stage0/stdlib/Init/WFTactics.c
generated
File diff suppressed because one or more lines are too long
6
stage0/stdlib/Lean/Elab/PreDefinition/Basic.c
generated
6
stage0/stdlib/Lean/Elab/PreDefinition/Basic.c
generated
|
|
@ -25,6 +25,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_
|
|||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_levelMVarToParamPreDeclsAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_addAndCompilePartialRec___spec__3(lean_object*, size_t, size_t);
|
||||
lean_object* l_Lean_stringToMessageData(lean_object*);
|
||||
lean_object* l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_containsRecFn___lambda__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_addAsAxiom(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
|
||||
|
|
@ -178,7 +179,6 @@ LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at___private_Lean_Elab_
|
|||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_levelMVarToParamPreDeclsAux___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkConst(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_eraseRecAppSyntaxExpr___closed__2;
|
||||
lean_object* l_Lean_addDecl___at_Lean_Meta_mkAuxDefinition___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_fixLevelParams___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_fixLevelParams___spec__1(lean_object*, lean_object*, size_t, size_t);
|
||||
static lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4___closed__2;
|
||||
|
|
@ -1478,7 +1478,7 @@ x_17 = lean_ctor_get(x_4, 3);
|
|||
x_18 = l_Lean_replaceRef(x_7, x_17);
|
||||
lean_dec(x_17);
|
||||
lean_ctor_set(x_4, 3, x_18);
|
||||
x_19 = l_Lean_addDecl___at_Lean_Meta_mkAuxDefinition___spec__1(x_15, x_2, x_3, x_4, x_5, x_6);
|
||||
x_19 = l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(x_15, x_2, x_3, x_4, x_5, x_6);
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
|
|
@ -1512,7 +1512,7 @@ lean_ctor_set(x_29, 4, x_24);
|
|||
lean_ctor_set(x_29, 5, x_25);
|
||||
lean_ctor_set(x_29, 6, x_26);
|
||||
lean_ctor_set(x_29, 7, x_27);
|
||||
x_30 = l_Lean_addDecl___at_Lean_Meta_mkAuxDefinition___spec__1(x_15, x_2, x_3, x_29, x_5, x_6);
|
||||
x_30 = l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(x_15, x_2, x_3, x_29, x_5, x_6);
|
||||
return x_30;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -374,7 +374,7 @@ lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 6, x_4);
|
|||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 7, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 8, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 9, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 10, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 10, x_3);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Structural_addSma
|
|||
lean_object* lean_name_mk_string(lean_object*, lean_object*);
|
||||
lean_object* lean_array_uget(lean_object*, size_t);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__8___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
|
||||
lean_object* l_Lean_throwError___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -55,7 +54,6 @@ lean_object* l_Lean_mkProj(lean_object*, lean_object*, lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__6(lean_object*);
|
||||
lean_object* lean_nat_sub(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__8(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__4(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_markSmartUnfoldingMatch(lean_object*);
|
||||
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -77,6 +75,7 @@ lean_object* l_Lean_Meta_forallTelescope___at___private_Lean_Meta_InferType_0__L
|
|||
lean_object* l_List_redLength___rarg(lean_object*);
|
||||
lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_isPerm___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_MatcherApp_toExpr(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Array_ofSubarray___rarg(lean_object*);
|
||||
|
|
@ -94,7 +93,6 @@ lean_object* l_Lean_Meta_Match_MatcherInfo_numAlts(lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__2___closed__1;
|
||||
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_lambdaTelescopeImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__7___lambda__3___closed__3;
|
||||
lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -1548,65 +1546,6 @@ return x_84;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__8___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10;
|
||||
x_10 = l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
|
||||
if (lean_obj_tag(x_10) == 0)
|
||||
{
|
||||
uint8_t x_11;
|
||||
x_11 = !lean_is_exclusive(x_10);
|
||||
if (x_11 == 0)
|
||||
{
|
||||
return x_10;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14;
|
||||
x_12 = lean_ctor_get(x_10, 0);
|
||||
x_13 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_dec(x_10);
|
||||
x_14 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_14, 0, x_12);
|
||||
lean_ctor_set(x_14, 1, x_13);
|
||||
return x_14;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_15;
|
||||
x_15 = !lean_is_exclusive(x_10);
|
||||
if (x_15 == 0)
|
||||
{
|
||||
return x_10;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
x_16 = lean_ctor_get(x_10, 0);
|
||||
x_17 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_17);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_10);
|
||||
x_18 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_18, 0, x_16);
|
||||
lean_ctor_set(x_18, 1, x_17);
|
||||
return x_18;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__8(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withLetDecl___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__8___rarg), 9, 0);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -2106,7 +2045,7 @@ x_105 = lean_alloc_closure((void*)(l_Lean_Elab_Structural_addSmartUnfoldingDefAu
|
|||
lean_closure_set(x_105, 0, x_101);
|
||||
lean_closure_set(x_105, 1, x_1);
|
||||
lean_closure_set(x_105, 2, x_2);
|
||||
x_106 = l_Lean_Meta_withLetDecl___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__8___rarg(x_98, x_99, x_103, x_105, x_4, x_5, x_6, x_7, x_104);
|
||||
x_106 = l_Lean_Meta_withLetDecl___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_isPerm___spec__1___rarg(x_98, x_99, x_103, x_105, x_4, x_5, x_6, x_7, x_104);
|
||||
return x_106;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
2
stage0/stdlib/Lean/Elab/PreDefinition/WF/Eqns.c
generated
2
stage0/stdlib/Lean/Elab/PreDefinition/WF/Eqns.c
generated
|
|
@ -2015,7 +2015,7 @@ lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 6, x_4);
|
|||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 7, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 8, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 9, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 10, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 10, x_3);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
1211
stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c
generated
1211
stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c
generated
File diff suppressed because it is too large
Load diff
16
stage0/stdlib/Lean/Elab/Tactic/Basic.c
generated
16
stage0/stdlib/Lean/Elab/Tactic/Basic.c
generated
|
|
@ -219,7 +219,6 @@ static lean_object* l_Lean_Elab_Tactic_instMonadBacktrackSavedStateTacticM___clo
|
|||
extern lean_object* l_Lean_Meta_instMonadMetaM;
|
||||
lean_object* l_Lean_ResolveName_resolveGlobalName(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_reportUnsolvedGoals___closed__1;
|
||||
static lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3248____closed__1;
|
||||
static lean_object* l_Lean_Elab_Term_reportUnsolvedGoals___closed__4;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_TacticM_runCore(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalTacticAux___lambda__2___closed__1;
|
||||
|
|
@ -316,7 +315,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_liftMetaTacticAux(lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_adaptExpander(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_closeMainGoal(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_tryTactic___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3248_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3246_(lean_object*);
|
||||
lean_object* l_Lean_Meta_getMVarDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_throwNoGoalsToBeSolved___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_instantiateMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -329,6 +328,7 @@ static lean_object* l_Lean_Elab_Tactic_instAlternativeTacticM___closed__3;
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Tactic_expandTacticMacroFns_loop___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_getTailPos_x3f(lean_object*, uint8_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Tactic_expandTacticMacroFns_loop___spec__1___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3246____closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_tryTactic_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_throwNoGoalsToBeSolved___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_replaceMainGoal(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -12154,7 +12154,7 @@ lean_dec(x_1);
|
|||
return x_5;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3248____closed__1() {
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3246____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
|
|
@ -12164,11 +12164,11 @@ x_3 = lean_name_mk_string(x_1, x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3248_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3246_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
x_2 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3248____closed__1;
|
||||
x_2 = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3246____closed__1;
|
||||
x_3 = l_Lean_registerTraceClass(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -12419,9 +12419,9 @@ l_Lean_Elab_Tactic_getNameOfIdent_x27___closed__2 = _init_l_Lean_Elab_Tactic_get
|
|||
lean_mark_persistent(l_Lean_Elab_Tactic_getNameOfIdent_x27___closed__2);
|
||||
l_Lean_Elab_Tactic_withCaseRef___rarg___closed__1 = _init_l_Lean_Elab_Tactic_withCaseRef___rarg___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_withCaseRef___rarg___closed__1);
|
||||
l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3248____closed__1 = _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3248____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3248____closed__1);
|
||||
res = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3248_(lean_io_mk_world());
|
||||
l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3246____closed__1 = _init_l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3246____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3246____closed__1);
|
||||
res = l_Lean_Elab_Tactic_initFn____x40_Lean_Elab_Tactic_Basic___hyg_3246_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
|
|
|
|||
472
stage0/stdlib/Lean/Elab/Tactic/BuiltinTactic.c
generated
472
stage0/stdlib/Lean/Elab/Tactic/BuiltinTactic.c
generated
|
|
@ -22,6 +22,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalIntroMatch_declRang
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_elabSetOption___closed__2;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnknown_declRange___closed__1;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalAllGoals_declRange___closed__3;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__7;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_elabOpenScoped___at_Lean_Elab_Tactic_evalOpen___spec__19___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDone___closed__15;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDone_declRange___closed__5;
|
||||
|
|
@ -56,10 +57,13 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalIntros_declRange___close
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalRotateRight(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Tactic_expandTacticMacroFns_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Std_RBNode_insert___at_Lean_NameSet_insert___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalTacticSeq1Indented(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalTacticSeq1Indented_declRange(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_forEachVar___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalIntros___closed__1;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalFail___closed__6;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalOpen_declRange___closed__3;
|
||||
lean_object* l_Lean_LocalDecl_userName(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalIntro_declRange___closed__1;
|
||||
|
|
@ -87,6 +91,7 @@ static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__13;
|
|||
lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstCore___spec__2(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Tactic_evalManyTacticOptSemi___spec__1___at_Lean_Elab_Tactic_evalManyTacticOptSemi___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRotateRight_declRange___closed__4;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalFail___closed__3;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__38;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__21;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalFocus___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -139,6 +144,7 @@ lean_object* l_Lean_Meta_getMVarTag(lean_object*, lean_object*, lean_object*, le
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSubst___closed__3;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalOpen_declRange___closed__6;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalContradiction___closed__2;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__2;
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalCase_declRange___closed__7;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_elabSetOption___closed__3;
|
||||
|
|
@ -156,6 +162,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalCase___closed__1;
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRenameInaccessibles_declRange___closed__2;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalAssumption_declRange___closed__6;
|
||||
lean_object* l_Lean_Meta_subst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalFail___closed__5;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_elabSetOption_declRange___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalIntro(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__35;
|
||||
|
|
@ -196,6 +203,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabSetOption___boxed(lean_object*,
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDone_declRange___closed__3;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalRenameInaccessibles___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalCase___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__1;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__16;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_elabOpenScoped___at_Lean_Elab_Tactic_evalOpen___spec__19(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_elabSetOption___closed__1;
|
||||
|
|
@ -204,6 +212,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalTacticSeq_declRange
|
|||
static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__7;
|
||||
lean_object* lean_string_utf8_byte_size(lean_object*);
|
||||
static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_elabSetOption___spec__3___closed__2;
|
||||
lean_object* l_Lean_MessageData_joinSep(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalTraceState___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalContradiction___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalAllGoals_declRange(lean_object*);
|
||||
|
|
@ -226,6 +235,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalAllGoals_declRange___clo
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalIntroMatch_declRange___closed__6;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFailIfSuccess_declRange___closed__7;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalClear___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__2;
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Elab_Tactic_evalAllGoals___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalAssumption___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSkip_declRange___closed__3;
|
||||
|
|
@ -234,6 +244,7 @@ lean_object* lean_nat_add(lean_object*, lean_object*);
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_elabSetOption_declRange___closed__7;
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalIntros___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_elabSetOption(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__6;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSkip___closed__4;
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnknown(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRevert_declRange___closed__5;
|
||||
|
|
@ -266,8 +277,11 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSkip_declRange___closed_
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalChoice___closed__3;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_BuiltinTactic_0__Lean_Elab_Tactic_findTag_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalAssumption(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalFail___closed__7;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRotateLeft_declRange___closed__3;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalChoice___closed__5;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__1;
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFail(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalSubst___closed__3;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRevert_declRange___closed__6;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalIntro___closed__2;
|
||||
|
|
@ -328,6 +342,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalChoice(lean_object*
|
|||
lean_object* l_Lean_Elab_Tactic_focus___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalFirst_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_local_ctx_get(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalAnyGoals_declRange___closed__5;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalAnyGoals___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalTacticSeqBracketed___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -427,6 +442,7 @@ lean_object* l_Array_back___rarg(lean_object*, lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalOpen___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRenameInaccessibles_declRange___closed__3;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__26;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__3;
|
||||
lean_object* l_Lean_addBuiltinDeclarationRanges(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalUnknown___closed__5;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalIntros___closed__2;
|
||||
|
|
@ -487,6 +503,7 @@ lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, ui
|
|||
static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__44;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalFirst___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalCase_declRange___closed__1;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_evalOpen___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalAllGoals___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalTacticSeqBracketed_declRange___closed__4;
|
||||
|
|
@ -582,6 +599,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalAnyGoals___closed__2;
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRotateRight___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalAnyGoals(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_getNumArgs(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__5;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalAllGoals_declRange___closed__6;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRevert_declRange___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Tactic_evalManyTacticOptSemi___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -591,6 +609,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalTraceState___closed__4;
|
|||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRotateRight_declRange(lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFocus(lean_object*);
|
||||
static lean_object* l_Lean_Elab_OpenDecl_elabOpenDecl___at_Lean_Elab_Tactic_evalOpen___spec__3___closed__5;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__3;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalTraceState___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_Lean_Elab_Tactic_evalOpen___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalAnyGoals___closed__1;
|
||||
|
|
@ -621,6 +640,7 @@ lean_object* l_Lean_Name_append(lean_object*, lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalRotateLeft(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalParen_declRange(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_renameInaccessibles___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalFail___closed__8;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalClear___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_getKind(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalParen_declRange___closed__6;
|
||||
|
|
@ -632,6 +652,7 @@ static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__1;
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalClear_declRange___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalAssumption(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSeq1_declRange___closed__4;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalFail___closed__4;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__8;
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRotateLeft_declRange(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalCase___closed__2;
|
||||
|
|
@ -655,6 +676,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalTacticSeqBracketed_declR
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalAnyGoals___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalCase_declRange(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSubst_declRange___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalFail(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__9;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalFailIfSuccess(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_isExprMVarAssigned(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -668,6 +690,7 @@ static lean_object* l_Lean_Elab_elabSetOption___at_Lean_Elab_Tactic_elabSetOptio
|
|||
static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__33;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__5;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalAllGoals___closed__2;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalFail___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_renameInaccessibles(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_logException___at_Lean_Elab_Tactic_closeUsingOrAdmit___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSkip_declRange___closed__4;
|
||||
|
|
@ -737,6 +760,7 @@ extern lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId;
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalTacticSeqBracketed___closed__4;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalCase_declRange___closed__5;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalIntro___closed__28;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalFail___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_elabSetOption___at_Lean_Elab_Tactic_elabSetOption___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSubst_declRange___closed__4;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalTraceState_declRange___closed__6;
|
||||
|
|
@ -754,6 +778,7 @@ lean_object* l_Lean_Syntax_toNat(lean_object*);
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalClear_declRange___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalTacticSeqBracketed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalDecide___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalContradiction_declRange___closed__4;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFocus_declRange___closed__1;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalContradiction___closed__1;
|
||||
|
|
@ -782,6 +807,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalDone_declRange___closed_
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRevert___closed__2;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalOpen_declRange___closed__7;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Open_0__Lean_Elab_OpenDecl_addOpenDecl___at_Lean_Elab_Tactic_evalOpen___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_List_mapTRAux___at_Lean_Elab_goalsToMessageData___spec__1(lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSkip_declRange___closed__5;
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalChoice_declRange(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_evalIntros___spec__1(size_t, size_t, lean_object*);
|
||||
|
|
@ -816,6 +842,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_evalClea
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalSeq1___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_Tactic_elabSetOption___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_Tactic_elabSetOption___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1___closed__1;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalIntroMatch_declRange___closed__7;
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFocus_declRange(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalIntroMatch___closed__3;
|
||||
|
|
@ -18914,6 +18941,405 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1);
|
|||
return x_4;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("ill-formed syntax");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1___closed__1;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11;
|
||||
x_10 = l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1___closed__2;
|
||||
x_11 = l_Lean_throwError___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__2(x_10, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
|
||||
return x_11;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalFail___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("\n\n");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalFail___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_Tactic_evalFail___closed__1;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalFail___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("fail");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalFail___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l___regBuiltin_Lean_Elab_Tactic_evalDone___closed__6;
|
||||
x_2 = l_Lean_Elab_Tactic_evalFail___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalFail___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("\n");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalFail___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_Tactic_evalFail___closed__5;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalFail___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("tactic 'fail' failed\n");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalFail___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_Tactic_evalFail___closed__7;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalFail(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19;
|
||||
x_11 = l_Lean_Elab_Tactic_getGoals___rarg(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
x_12 = lean_ctor_get(x_11, 0);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_11, 1);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_11);
|
||||
x_14 = lean_box(0);
|
||||
x_15 = l_List_mapTRAux___at_Lean_Elab_goalsToMessageData___spec__1(x_12, x_14);
|
||||
x_16 = l_Lean_Elab_Tactic_evalFail___closed__2;
|
||||
x_17 = l_Lean_MessageData_joinSep(x_15, x_16);
|
||||
lean_dec(x_15);
|
||||
x_18 = l_Lean_Elab_Tactic_evalFail___closed__4;
|
||||
lean_inc(x_1);
|
||||
x_19 = l_Lean_Syntax_isOfKind(x_1, x_18);
|
||||
if (x_19 == 0)
|
||||
{
|
||||
lean_object* x_20;
|
||||
lean_dec(x_17);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_20 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Tactic_evalExact___spec__1___rarg(x_13);
|
||||
return x_20;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25;
|
||||
x_21 = lean_unsigned_to_nat(1u);
|
||||
x_22 = l_Lean_Syntax_getArg(x_1, x_21);
|
||||
lean_dec(x_1);
|
||||
x_23 = l_Lean_nullKind;
|
||||
x_24 = lean_unsigned_to_nat(0u);
|
||||
lean_inc(x_22);
|
||||
x_25 = l_Lean_Syntax_isNodeOf(x_22, x_23, x_24);
|
||||
if (x_25 == 0)
|
||||
{
|
||||
uint8_t x_26;
|
||||
lean_inc(x_22);
|
||||
x_26 = l_Lean_Syntax_isNodeOf(x_22, x_23, x_21);
|
||||
if (x_26 == 0)
|
||||
{
|
||||
lean_object* x_27;
|
||||
lean_dec(x_22);
|
||||
lean_dec(x_17);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_27 = l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Tactic_evalExact___spec__1___rarg(x_13);
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29;
|
||||
x_28 = l_Lean_Syntax_getArg(x_22, x_24);
|
||||
lean_dec(x_22);
|
||||
x_29 = l_Lean_Syntax_isStrLit_x3f(x_28);
|
||||
lean_dec(x_28);
|
||||
if (lean_obj_tag(x_29) == 0)
|
||||
{
|
||||
lean_object* x_30;
|
||||
lean_dec(x_17);
|
||||
x_30 = l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_30;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_31 = lean_ctor_get(x_29, 0);
|
||||
lean_inc(x_31);
|
||||
lean_dec(x_29);
|
||||
x_32 = l_Lean_stringToMessageData(x_31);
|
||||
lean_dec(x_31);
|
||||
x_33 = l_Lean_Elab_elabSetOption___at_Lean_Elab_Tactic_elabSetOption___spec__1___closed__3;
|
||||
x_34 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_34, 0, x_33);
|
||||
lean_ctor_set(x_34, 1, x_32);
|
||||
x_35 = l_Lean_Elab_Tactic_evalFail___closed__6;
|
||||
x_36 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_34);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
x_37 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_37, 0, x_36);
|
||||
lean_ctor_set(x_37, 1, x_17);
|
||||
x_38 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_38, 0, x_37);
|
||||
lean_ctor_set(x_38, 1, x_33);
|
||||
x_39 = l_Lean_throwError___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__2(x_38, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
lean_dec(x_22);
|
||||
x_40 = l_Lean_Elab_Tactic_evalFail___closed__8;
|
||||
x_41 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_41, 0, x_40);
|
||||
lean_ctor_set(x_41, 1, x_17);
|
||||
x_42 = l_Lean_Elab_elabSetOption___at_Lean_Elab_Tactic_elabSetOption___spec__1___closed__3;
|
||||
x_43 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
lean_ctor_set(x_43, 1, x_42);
|
||||
x_44 = l_Lean_throwError___at___private_Lean_Elab_Tactic_Basic_0__Lean_Elab_Tactic_evalTacticUsing_loop___spec__2(x_43, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10;
|
||||
x_10 = l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_10;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("evalFail");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l___regBuiltin_Lean_Elab_Tactic_evalDone___closed__11;
|
||||
x_2 = l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_evalFail), 10, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFail(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_2 = l___regBuiltin_Lean_Elab_Tactic_evalDone___closed__14;
|
||||
x_3 = l_Lean_Elab_Tactic_evalFail___closed__4;
|
||||
x_4 = l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__2;
|
||||
x_5 = l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__3;
|
||||
x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(276u);
|
||||
x_2 = lean_unsigned_to_nat(24u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
lean_ctor_set(x_3, 1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(285u);
|
||||
x_2 = lean_unsigned_to_nat(31u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
lean_ctor_set(x_3, 1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__1;
|
||||
x_2 = lean_unsigned_to_nat(24u);
|
||||
x_3 = l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__2;
|
||||
x_4 = lean_unsigned_to_nat(31u);
|
||||
x_5 = lean_alloc_ctor(0, 4, 0);
|
||||
lean_ctor_set(x_5, 0, x_1);
|
||||
lean_ctor_set(x_5, 1, x_2);
|
||||
lean_ctor_set(x_5, 2, x_3);
|
||||
lean_ctor_set(x_5, 3, x_4);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(276u);
|
||||
x_2 = lean_unsigned_to_nat(28u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
lean_ctor_set(x_3, 1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(276u);
|
||||
x_2 = lean_unsigned_to_nat(36u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
lean_ctor_set(x_3, 1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__4;
|
||||
x_2 = lean_unsigned_to_nat(28u);
|
||||
x_3 = l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__5;
|
||||
x_4 = lean_unsigned_to_nat(36u);
|
||||
x_5 = lean_alloc_ctor(0, 4, 0);
|
||||
lean_ctor_set(x_5, 0, x_1);
|
||||
lean_ctor_set(x_5, 1, x_2);
|
||||
lean_ctor_set(x_5, 2, x_3);
|
||||
lean_ctor_set(x_5, 3, x_4);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__3;
|
||||
x_2 = l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__6;
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
lean_ctor_set(x_3, 1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_2 = l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__2;
|
||||
x_3 = l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__7;
|
||||
x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Init(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Elab_Tactic_Basic(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Elab_Tactic_ElabTerm(uint8_t builtin, lean_object*);
|
||||
|
|
@ -20007,6 +20433,52 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Tactic_evalFirst_declRange___close
|
|||
res = l___regBuiltin_Lean_Elab_Tactic_evalFirst_declRange(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1___closed__1 = _init_l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1___closed__1);
|
||||
l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1___closed__2 = _init_l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_throwIllFormedSyntax___at_Lean_Elab_Tactic_evalFail___spec__1___closed__2);
|
||||
l_Lean_Elab_Tactic_evalFail___closed__1 = _init_l_Lean_Elab_Tactic_evalFail___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalFail___closed__1);
|
||||
l_Lean_Elab_Tactic_evalFail___closed__2 = _init_l_Lean_Elab_Tactic_evalFail___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalFail___closed__2);
|
||||
l_Lean_Elab_Tactic_evalFail___closed__3 = _init_l_Lean_Elab_Tactic_evalFail___closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalFail___closed__3);
|
||||
l_Lean_Elab_Tactic_evalFail___closed__4 = _init_l_Lean_Elab_Tactic_evalFail___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalFail___closed__4);
|
||||
l_Lean_Elab_Tactic_evalFail___closed__5 = _init_l_Lean_Elab_Tactic_evalFail___closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalFail___closed__5);
|
||||
l_Lean_Elab_Tactic_evalFail___closed__6 = _init_l_Lean_Elab_Tactic_evalFail___closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalFail___closed__6);
|
||||
l_Lean_Elab_Tactic_evalFail___closed__7 = _init_l_Lean_Elab_Tactic_evalFail___closed__7();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalFail___closed__7);
|
||||
l_Lean_Elab_Tactic_evalFail___closed__8 = _init_l_Lean_Elab_Tactic_evalFail___closed__8();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalFail___closed__8);
|
||||
l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__1 = _init_l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__1();
|
||||
lean_mark_persistent(l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__1);
|
||||
l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__2 = _init_l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__2();
|
||||
lean_mark_persistent(l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__2);
|
||||
l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__3 = _init_l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__3();
|
||||
lean_mark_persistent(l___regBuiltin_Lean_Elab_Tactic_evalFail___closed__3);
|
||||
res = l___regBuiltin_Lean_Elab_Tactic_evalFail(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__1 = _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__1();
|
||||
lean_mark_persistent(l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__1);
|
||||
l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__2 = _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__2();
|
||||
lean_mark_persistent(l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__2);
|
||||
l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__3 = _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__3();
|
||||
lean_mark_persistent(l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__3);
|
||||
l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__4 = _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__4();
|
||||
lean_mark_persistent(l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__4);
|
||||
l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__5 = _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__5();
|
||||
lean_mark_persistent(l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__5);
|
||||
l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__6 = _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__6();
|
||||
lean_mark_persistent(l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__6);
|
||||
l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__7 = _init_l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__7();
|
||||
lean_mark_persistent(l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange___closed__7);
|
||||
res = l___regBuiltin_Lean_Elab_Tactic_evalFail_declRange(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
4
stage0/stdlib/Lean/Elab/Tactic/Simp.c
generated
4
stage0/stdlib/Lean/Elab/Tactic/Simp.c
generated
|
|
@ -816,7 +816,7 @@ lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 6, x_4);
|
|||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 7, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 8, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 9, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 10, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 10, x_3);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
|
|
@ -1185,7 +1185,7 @@ lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 6, x_3);
|
|||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 7, x_3);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 8, x_3);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 9, x_3);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 10, x_3);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 10, x_4);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
192
stage0/stdlib/Lean/Meta/AppBuilder.c
generated
192
stage0/stdlib/Lean/Meta/AppBuilder.c
generated
|
|
@ -40,6 +40,7 @@ lean_object* l_Lean_mkSort(lean_object*);
|
|||
static lean_object* l_Lean_Meta_mkCongr___closed__1;
|
||||
static lean_object* l_Lean_Meta_mkListLit___closed__6;
|
||||
lean_object* l_Lean_mkApp6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_mkLT(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_mkEqMP___closed__3;
|
||||
static lean_object* l_Lean_Meta_mkOfNonempty___closed__4;
|
||||
static lean_object* l_Lean_Meta_mkHEqSymm___closed__1;
|
||||
|
|
@ -269,6 +270,7 @@ static lean_object* l_Lean_Meta_mkCongrFun___closed__4;
|
|||
static lean_object* l_Lean_Meta_mkEqOfHEq___closed__2;
|
||||
static lean_object* l_Lean_Meta_mkFunExt___closed__2;
|
||||
static lean_object* l_Lean_Meta_mkSorry___closed__7;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_mkLE(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_hasTypeMsg___closed__3;
|
||||
static lean_object* l_Lean_Meta_mkEqRefl___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_mkProjection(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -276,6 +278,7 @@ static lean_object* l_Lean_Meta_mkCongrArg___closed__5;
|
|||
static lean_object* l_Lean_Meta_mkEqNDRec___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_mkProjection___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_mkAppM___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkBinaryRel(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_assignExprMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_mkAppOptM_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -328,7 +331,7 @@ static lean_object* l_Lean_Meta_mkEqOfHEq___closed__3;
|
|||
static lean_object* l_Lean_Meta_mkProjection___lambda__1___closed__9;
|
||||
static lean_object* l_Lean_Meta_mkEqMPR___closed__1;
|
||||
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_AppBuilder___hyg_5531_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_AppBuilder___hyg_5629_(lean_object*);
|
||||
lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_mkFreshExprMVarImpl(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -13993,7 +13996,190 @@ x_10 = l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkBinaryOp(x_8, x_9, x_1, x
|
|||
return x_10;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_AppBuilder___hyg_5531_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkBinaryRel(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10;
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_3);
|
||||
x_10 = lean_infer_type(x_3, x_5, x_6, x_7, x_8, x_9);
|
||||
if (lean_obj_tag(x_10) == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13;
|
||||
x_11 = lean_ctor_get(x_10, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_12);
|
||||
lean_dec(x_10);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_11);
|
||||
x_13 = l_Lean_Meta_getDecLevel(x_11, x_5, x_6, x_7, x_8, x_12);
|
||||
if (lean_obj_tag(x_13) == 0)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
||||
x_14 = lean_ctor_get(x_13, 0);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_15);
|
||||
lean_dec(x_13);
|
||||
x_16 = lean_box(0);
|
||||
x_17 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_17, 0, x_14);
|
||||
lean_ctor_set(x_17, 1, x_16);
|
||||
lean_inc(x_17);
|
||||
x_18 = l_Lean_mkConst(x_1, x_17);
|
||||
lean_inc(x_11);
|
||||
x_19 = l_Lean_mkApp(x_18, x_11);
|
||||
x_20 = lean_box(0);
|
||||
x_21 = l_Lean_Meta_synthInstance(x_19, x_20, x_5, x_6, x_7, x_8, x_15);
|
||||
if (lean_obj_tag(x_21) == 0)
|
||||
{
|
||||
uint8_t x_22;
|
||||
x_22 = !lean_is_exclusive(x_21);
|
||||
if (x_22 == 0)
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25;
|
||||
x_23 = lean_ctor_get(x_21, 0);
|
||||
x_24 = l_Lean_mkConst(x_2, x_17);
|
||||
x_25 = l_Lean_mkApp4(x_24, x_11, x_23, x_3, x_4);
|
||||
lean_ctor_set(x_21, 0, x_25);
|
||||
return x_21;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
x_26 = lean_ctor_get(x_21, 0);
|
||||
x_27 = lean_ctor_get(x_21, 1);
|
||||
lean_inc(x_27);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_21);
|
||||
x_28 = l_Lean_mkConst(x_2, x_17);
|
||||
x_29 = l_Lean_mkApp4(x_28, x_11, x_26, x_3, x_4);
|
||||
x_30 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_30, 0, x_29);
|
||||
lean_ctor_set(x_30, 1, x_27);
|
||||
return x_30;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_31;
|
||||
lean_dec(x_17);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_31 = !lean_is_exclusive(x_21);
|
||||
if (x_31 == 0)
|
||||
{
|
||||
return x_21;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_32; lean_object* x_33; lean_object* x_34;
|
||||
x_32 = lean_ctor_get(x_21, 0);
|
||||
x_33 = lean_ctor_get(x_21, 1);
|
||||
lean_inc(x_33);
|
||||
lean_inc(x_32);
|
||||
lean_dec(x_21);
|
||||
x_34 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_34, 0, x_32);
|
||||
lean_ctor_set(x_34, 1, x_33);
|
||||
return x_34;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_35;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_35 = !lean_is_exclusive(x_13);
|
||||
if (x_35 == 0)
|
||||
{
|
||||
return x_13;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_36; lean_object* x_37; lean_object* x_38;
|
||||
x_36 = lean_ctor_get(x_13, 0);
|
||||
x_37 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_37);
|
||||
lean_inc(x_36);
|
||||
lean_dec(x_13);
|
||||
x_38 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_38, 0, x_36);
|
||||
lean_ctor_set(x_38, 1, x_37);
|
||||
return x_38;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_39;
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_39 = !lean_is_exclusive(x_10);
|
||||
if (x_39 == 0)
|
||||
{
|
||||
return x_10;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_40; lean_object* x_41; lean_object* x_42;
|
||||
x_40 = lean_ctor_get(x_10, 0);
|
||||
x_41 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_41);
|
||||
lean_inc(x_40);
|
||||
lean_dec(x_10);
|
||||
x_42 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_42, 0, x_40);
|
||||
lean_ctor_set(x_42, 1, x_41);
|
||||
return x_42;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_mkLE(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
x_8 = l_Lean_Meta_mkLe___closed__2;
|
||||
x_9 = l_Lean_Meta_mkLe___closed__4;
|
||||
x_10 = l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkBinaryRel(x_8, x_9, x_1, x_2, x_3, x_4, x_5, x_6, x_7);
|
||||
return x_10;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_mkLT(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_8; lean_object* x_9; lean_object* x_10;
|
||||
x_8 = l_Lean_Meta_mkLt___closed__2;
|
||||
x_9 = l_Lean_Meta_mkLt___closed__4;
|
||||
x_10 = l___private_Lean_Meta_AppBuilder_0__Lean_Meta_mkBinaryRel(x_8, x_9, x_1, x_2, x_3, x_4, x_5, x_6, x_7);
|
||||
return x_10;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_AppBuilder___hyg_5629_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
|
|
@ -14465,7 +14651,7 @@ l_Lean_Meta_mkMul___closed__3 = _init_l_Lean_Meta_mkMul___closed__3();
|
|||
lean_mark_persistent(l_Lean_Meta_mkMul___closed__3);
|
||||
l_Lean_Meta_mkMul___closed__4 = _init_l_Lean_Meta_mkMul___closed__4();
|
||||
lean_mark_persistent(l_Lean_Meta_mkMul___closed__4);
|
||||
res = l_Lean_Meta_initFn____x40_Lean_Meta_AppBuilder___hyg_5531_(lean_io_mk_world());
|
||||
res = l_Lean_Meta_initFn____x40_Lean_Meta_AppBuilder___hyg_5629_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
|
|
|
|||
12
stage0/stdlib/Lean/Meta/Match/Match.c
generated
12
stage0/stdlib/Lean/Meta/Match/Match.c
generated
|
|
@ -48,6 +48,7 @@ static lean_object* l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_
|
|||
lean_object* l_Lean_stringToMessageData(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_foldr___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_hasAsPattern___spec__1___boxed(lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_checkNumPatterns___closed__2;
|
||||
lean_object* l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processConstructor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
|
||||
static lean_object* l_Lean_addTrace___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processLeaf___spec__1___closed__3;
|
||||
|
|
@ -279,7 +280,6 @@ static lean_object* l_List_forIn_loop___at___private_Lean_Meta_Match_Match_0__Le
|
|||
static lean_object* l_Lean_Meta_Match_mkMatcher___lambda__7___closed__2;
|
||||
static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwCasesException___rarg___closed__15;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_panic___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_withAlts(lean_object*);
|
||||
static lean_object* l_Lean_Meta_Match_processInaccessibleAsCtor___closed__1;
|
||||
lean_object* lean_array_fget(lean_object*, lean_object*);
|
||||
|
|
@ -654,6 +654,7 @@ lean_object* l_Lean_Meta_withExistingLocalDecls___at_Lean_Meta_Match_Alt_toMessa
|
|||
LEAN_EXPORT lean_object* l_List_filterAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processArrayLit___spec__6(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_unify_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_panic___at_Lean_Meta_ACLt_lt_lexSameCtor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process_checkVarDeps___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Match_Unify_occurs___boxed(lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_traceStep___closed__1;
|
||||
|
|
@ -684,7 +685,6 @@ LEAN_EXPORT uint8_t l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_
|
|||
LEAN_EXPORT lean_object* l_Array_mapIdxM_map___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processValue___spec__10___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Match_State_used___default;
|
||||
lean_object* l_List_lengthTRAux___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Meta_addInstance___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Match_Unify_occurs___lambda__1___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_PersistentHashMap_insertAux___at_Lean_Meta_Match_mkMatcherAuxDefinition___spec__5(lean_object*, size_t, size_t, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwCasesException___rarg___closed__8;
|
||||
|
|
@ -764,7 +764,6 @@ LEAN_EXPORT lean_object* l_Nat_foldRevM_loop___at_Lean_Meta_MatcherApp_addArg___
|
|||
lean_object* l_Lean_Meta_caseArraySizes(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_MatcherApp_addArg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_updateAlts___closed__2;
|
||||
lean_object* l_Lean_addDecl___at_Lean_Meta_mkAuxDefinition___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_filterMapM_loop___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_processNonVariable___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_Match_Alt_applyFVarSubst(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_panic___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_List_moveToFront_loop___spec__1(lean_object*);
|
||||
|
|
@ -785,6 +784,7 @@ static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process
|
|||
static lean_object* l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_throwInductiveTypeExpected___rarg___closed__2;
|
||||
LEAN_EXPORT lean_object* l_List_mapTRAux___at___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_moveToFront___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Match_Unify_expandIfVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Meta_mkSimpCongrTheorem___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Match_initFn____x40_Lean_Meta_Match_Match___hyg_9219____closed__8;
|
||||
lean_object* l_Lean_Meta_instInhabitedMetaM___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Match_Unify_assign___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -19245,7 +19245,7 @@ lean_object* x_11; lean_object* x_12;
|
|||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_11 = l___private_Lean_Meta_Match_Match_0__Lean_Meta_Match_process_checkVarDeps___closed__2;
|
||||
x_12 = l_panic___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1(x_11, x_4, x_5, x_6, x_7, x_8);
|
||||
x_12 = l_panic___at_Lean_Meta_ACLt_lt_lexSameCtor___spec__1(x_11, x_4, x_5, x_6, x_7, x_8);
|
||||
return x_12;
|
||||
}
|
||||
else
|
||||
|
|
@ -23256,7 +23256,7 @@ _start:
|
|||
lean_object* x_11;
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_1);
|
||||
x_11 = l_Lean_addDecl___at_Lean_Meta_mkAuxDefinition___spec__1(x_1, x_6, x_7, x_8, x_9, x_10);
|
||||
x_11 = l_Lean_addDecl___at_Lean_Meta_mkAuxLemma___spec__4(x_1, x_6, x_7, x_8, x_9, x_10);
|
||||
if (lean_obj_tag(x_11) == 0)
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16;
|
||||
|
|
@ -27562,7 +27562,7 @@ lean_object* x_10; lean_object* x_11;
|
|||
lean_dec(x_4);
|
||||
x_10 = l_Lean_ConstantInfo_name(x_1);
|
||||
lean_dec(x_1);
|
||||
x_11 = l_Lean_mkConstWithLevelParams___at_Lean_Meta_addInstance___spec__1(x_10, x_5, x_6, x_7, x_8, x_9);
|
||||
x_11 = l_Lean_mkConstWithLevelParams___at_Lean_Meta_mkSimpCongrTheorem___spec__1(x_10, x_5, x_6, x_7, x_8, x_9);
|
||||
if (lean_obj_tag(x_11) == 0)
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
|
|
|
|||
1711
stage0/stdlib/Lean/Meta/Tactic/Acyclic.c
generated
Normal file
1711
stage0/stdlib/Lean/Meta/Tactic/Acyclic.c
generated
Normal file
File diff suppressed because it is too large
Load diff
254
stage0/stdlib/Lean/Meta/Tactic/Cases.c
generated
254
stage0/stdlib/Lean/Meta/Tactic/Cases.c
generated
|
|
@ -1,6 +1,6 @@
|
|||
// Lean compiler output
|
||||
// Module: Lean.Meta.Tactic.Cases
|
||||
// Imports: Init Lean.Meta.AppBuilder Lean.Meta.Tactic.Induction Lean.Meta.Tactic.Injection Lean.Meta.Tactic.Assert Lean.Meta.Tactic.Subst
|
||||
// Imports: Init Lean.Meta.AppBuilder Lean.Meta.Tactic.Induction Lean.Meta.Tactic.Injection Lean.Meta.Tactic.Assert Lean.Meta.Tactic.Subst Lean.Meta.Tactic.Acyclic
|
||||
#include <lean/lean.h>
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
|
|
@ -106,6 +106,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_mkEqAnd
|
|||
lean_object* l_Std_mkHashSetImp___rarg(lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__54(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t);
|
||||
lean_object* l_Lean_Expr_appArg_x21(lean_object*);
|
||||
lean_object* l_Lean_Meta_acyclic(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_generalizeTargetsEq___lambda__3___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Std_PersistentArray_anyM___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__21___boxed(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -252,7 +253,7 @@ LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Meta_Tactic_
|
|||
LEAN_EXPORT lean_object* l_Std_PersistentArray_anyMAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__30___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_withMVarContext___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_mkCasesContext_x3f___spec__1___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_4314_(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_4345_(lean_object*);
|
||||
lean_object* l_Lean_LocalDecl_fvarId(lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_Cases_hasIndepIndices___spec__15(lean_object*, lean_object*, lean_object*, size_t, size_t);
|
||||
static lean_object* l_Lean_Meta_Cases_unifyEqs_substEq___closed__1;
|
||||
|
|
@ -11624,90 +11625,82 @@ x_20 = lean_unbox(x_19);
|
|||
lean_dec(x_19);
|
||||
if (x_20 == 0)
|
||||
{
|
||||
lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_21 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_18);
|
||||
x_22 = l_Lean_LocalDecl_type(x_6);
|
||||
lean_dec(x_6);
|
||||
x_23 = l_Lean_indentExpr(x_22);
|
||||
x_24 = l_Lean_Meta_Cases_unifyEqs_substEq___closed__2;
|
||||
x_25 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_25, 0, x_24);
|
||||
lean_ctor_set(x_25, 1, x_23);
|
||||
x_26 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg___closed__4;
|
||||
x_27 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_27, 0, x_25);
|
||||
lean_ctor_set(x_27, 1, x_26);
|
||||
x_28 = l_Lean_throwError___at_Lean_Meta_Cases_unifyEqs_substEq___spec__3(x_27, x_10, x_11, x_12, x_13, x_21);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
return x_28;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_29; lean_object* x_30;
|
||||
lean_dec(x_6);
|
||||
x_29 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_29);
|
||||
lean_dec(x_18);
|
||||
x_22 = l_Lean_mkFVar(x_4);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
x_30 = l_Lean_Meta_clear(x_5, x_4, x_10, x_11, x_12, x_13, x_29);
|
||||
if (lean_obj_tag(x_30) == 0)
|
||||
x_23 = l_Lean_Meta_acyclic(x_5, x_22, x_10, x_11, x_12, x_13, x_21);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35;
|
||||
x_31 = lean_ctor_get(x_30, 0);
|
||||
lean_inc(x_31);
|
||||
x_32 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_32);
|
||||
lean_dec(x_30);
|
||||
x_33 = lean_unsigned_to_nat(1u);
|
||||
x_34 = lean_nat_sub(x_1, x_33);
|
||||
lean_dec(x_1);
|
||||
x_35 = l_Lean_Meta_Cases_unifyEqs(x_34, x_31, x_2, x_3, x_10, x_11, x_12, x_13, x_32);
|
||||
return x_35;
|
||||
}
|
||||
else
|
||||
lean_object* x_24; uint8_t x_25;
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
x_25 = lean_unbox(x_24);
|
||||
lean_dec(x_24);
|
||||
if (x_25 == 0)
|
||||
{
|
||||
uint8_t x_36;
|
||||
lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
|
||||
x_26 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_23);
|
||||
x_27 = l_Lean_LocalDecl_type(x_6);
|
||||
lean_dec(x_6);
|
||||
x_28 = l_Lean_indentExpr(x_27);
|
||||
x_29 = l_Lean_Meta_Cases_unifyEqs_substEq___closed__2;
|
||||
x_30 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_30, 0, x_29);
|
||||
lean_ctor_set(x_30, 1, x_28);
|
||||
x_31 = l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg___closed__4;
|
||||
x_32 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_32, 0, x_30);
|
||||
lean_ctor_set(x_32, 1, x_31);
|
||||
x_33 = l_Lean_throwError___at_Lean_Meta_Cases_unifyEqs_substEq___spec__3(x_32, x_10, x_11, x_12, x_13, x_26);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_36 = !lean_is_exclusive(x_30);
|
||||
if (x_36 == 0)
|
||||
return x_33;
|
||||
}
|
||||
else
|
||||
{
|
||||
return x_30;
|
||||
uint8_t x_34;
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_6);
|
||||
x_34 = !lean_is_exclusive(x_23);
|
||||
if (x_34 == 0)
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
x_35 = lean_ctor_get(x_23, 0);
|
||||
lean_dec(x_35);
|
||||
x_36 = lean_box(0);
|
||||
lean_ctor_set(x_23, 0, x_36);
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38; lean_object* x_39;
|
||||
x_37 = lean_ctor_get(x_30, 0);
|
||||
x_38 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_38);
|
||||
x_37 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_30);
|
||||
x_39 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
lean_dec(x_23);
|
||||
x_38 = lean_box(0);
|
||||
x_39 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_38);
|
||||
lean_ctor_set(x_39, 1, x_37);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_40;
|
||||
|
|
@ -11716,24 +11709,19 @@ lean_dec(x_12);
|
|||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_40 = !lean_is_exclusive(x_18);
|
||||
x_40 = !lean_is_exclusive(x_23);
|
||||
if (x_40 == 0)
|
||||
{
|
||||
return x_18;
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_41; lean_object* x_42; lean_object* x_43;
|
||||
x_41 = lean_ctor_get(x_18, 0);
|
||||
x_42 = lean_ctor_get(x_18, 1);
|
||||
x_41 = lean_ctor_get(x_23, 0);
|
||||
x_42 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_42);
|
||||
lean_inc(x_41);
|
||||
lean_dec(x_18);
|
||||
lean_dec(x_23);
|
||||
x_43 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
lean_ctor_set(x_43, 1, x_42);
|
||||
|
|
@ -11743,29 +11731,119 @@ return x_43;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
|
||||
lean_object* x_44; lean_object* x_45;
|
||||
lean_dec(x_6);
|
||||
x_44 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_44);
|
||||
lean_dec(x_18);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
x_45 = l_Lean_Meta_clear(x_5, x_4, x_10, x_11, x_12, x_13, x_44);
|
||||
if (lean_obj_tag(x_45) == 0)
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50;
|
||||
x_46 = lean_ctor_get(x_45, 0);
|
||||
lean_inc(x_46);
|
||||
x_47 = lean_ctor_get(x_45, 1);
|
||||
lean_inc(x_47);
|
||||
lean_dec(x_45);
|
||||
x_48 = lean_unsigned_to_nat(1u);
|
||||
x_49 = lean_nat_sub(x_1, x_48);
|
||||
lean_dec(x_1);
|
||||
x_50 = l_Lean_Meta_Cases_unifyEqs(x_49, x_46, x_2, x_3, x_10, x_11, x_12, x_13, x_47);
|
||||
return x_50;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_51;
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_51 = !lean_is_exclusive(x_45);
|
||||
if (x_51 == 0)
|
||||
{
|
||||
return x_45;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54;
|
||||
x_52 = lean_ctor_get(x_45, 0);
|
||||
x_53 = lean_ctor_get(x_45, 1);
|
||||
lean_inc(x_53);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_45);
|
||||
x_54 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_54, 0, x_52);
|
||||
lean_ctor_set(x_54, 1, x_53);
|
||||
return x_54;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_55;
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_55 = !lean_is_exclusive(x_18);
|
||||
if (x_55 == 0)
|
||||
{
|
||||
return x_18;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_56 = lean_ctor_get(x_18, 0);
|
||||
x_57 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_57);
|
||||
lean_inc(x_56);
|
||||
lean_dec(x_18);
|
||||
x_58 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_58, 0, x_56);
|
||||
lean_ctor_set(x_58, 1, x_57);
|
||||
return x_58;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65;
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_2);
|
||||
x_44 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_44);
|
||||
x_59 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_16);
|
||||
x_45 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_45);
|
||||
x_60 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_60);
|
||||
lean_dec(x_15);
|
||||
x_46 = lean_ctor_get(x_44, 0);
|
||||
lean_inc(x_46);
|
||||
x_47 = lean_ctor_get(x_44, 1);
|
||||
lean_inc(x_47);
|
||||
lean_dec(x_44);
|
||||
x_48 = lean_unsigned_to_nat(1u);
|
||||
x_49 = lean_nat_sub(x_1, x_48);
|
||||
x_61 = lean_ctor_get(x_59, 0);
|
||||
lean_inc(x_61);
|
||||
x_62 = lean_ctor_get(x_59, 1);
|
||||
lean_inc(x_62);
|
||||
lean_dec(x_59);
|
||||
x_63 = lean_unsigned_to_nat(1u);
|
||||
x_64 = lean_nat_sub(x_1, x_63);
|
||||
lean_dec(x_1);
|
||||
x_50 = l_Lean_Meta_Cases_unifyEqs(x_49, x_47, x_46, x_3, x_10, x_11, x_12, x_13, x_45);
|
||||
return x_50;
|
||||
x_65 = l_Lean_Meta_Cases_unifyEqs(x_64, x_62, x_61, x_3, x_10, x_11, x_12, x_13, x_60);
|
||||
return x_65;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -16661,7 +16739,7 @@ lean_dec(x_2);
|
|||
return x_7;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_4314_(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_4345_(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3;
|
||||
|
|
@ -16676,6 +16754,7 @@ lean_object* initialize_Lean_Meta_Tactic_Induction(uint8_t builtin, lean_object*
|
|||
lean_object* initialize_Lean_Meta_Tactic_Injection(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Tactic_Assert(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Tactic_Subst(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Tactic_Acyclic(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Lean_Meta_Tactic_Cases(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
|
|
@ -16699,6 +16778,9 @@ lean_dec_ref(res);
|
|||
res = initialize_Lean_Meta_Tactic_Subst(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Meta_Tactic_Acyclic(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg___closed__1 = _init_l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg___closed__1();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg___closed__1);
|
||||
l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg___closed__2 = _init_l___private_Lean_Meta_Tactic_Cases_0__Lean_Meta_throwInductiveTypeExpected___rarg___closed__2();
|
||||
|
|
@ -16837,7 +16919,7 @@ l_Lean_Meta_byCases___closed__4 = _init_l_Lean_Meta_byCases___closed__4();
|
|||
lean_mark_persistent(l_Lean_Meta_byCases___closed__4);
|
||||
l_Lean_Meta_byCases___closed__5 = _init_l_Lean_Meta_byCases___closed__5();
|
||||
lean_mark_persistent(l_Lean_Meta_byCases___closed__5);
|
||||
res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_4314_(lean_io_mk_world());
|
||||
res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Cases___hyg_4345_(lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
|
|
|
|||
86
stage0/stdlib/Lean/Meta/Tactic/Contradiction.c
generated
86
stage0/stdlib/Lean/Meta/Tactic/Contradiction.c
generated
|
|
@ -22,7 +22,6 @@ lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_stringToMessageData(lean_object*);
|
||||
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
|
||||
lean_object* l_Lean_mkSort(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_PersistentArray_forIn___at_Lean_Meta_contradictionCore___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_LocalDecl_isAuxDecl(lean_object*);
|
||||
lean_object* lean_name_mk_string(lean_object*, lean_object*);
|
||||
|
|
@ -32,6 +31,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_ElimEmptyInduct
|
|||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_ElimEmptyInductive_elim___spec__1___closed__2;
|
||||
static lean_object* l_Lean_addTrace___at_Lean_Meta_ElimEmptyInductive_elim___spec__5___closed__2;
|
||||
static lean_object* l_Lean_Meta_contradiction___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_PersistentArray_forIn___at_Lean_Meta_contradictionCore___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_addTrace___at_Lean_Meta_ElimEmptyInductive_elim___spec__5___closed__1;
|
||||
static lean_object* l_Lean_commitWhen___at_Lean_Meta_ElimEmptyInductive_elim___spec__7___at_Lean_Meta_ElimEmptyInductive_elim___spec__8___lambda__2___closed__7;
|
||||
|
|
@ -83,7 +83,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_ElimEmptyInduct
|
|||
lean_object* l_StateRefT_x27_lift___rarg___boxed(lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_commitWhen___at_Lean_Meta_ElimEmptyInductive_elim___spec__7___at_Lean_Meta_ElimEmptyInductive_elim___spec__8___lambda__2___closed__1;
|
||||
LEAN_EXPORT lean_object* l_panic___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_ElimEmptyInductive_instMonadBacktrackSavedStateM___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_commitWhen___at_Lean_Meta_ElimEmptyInductive_elim___spec__7___at_Lean_Meta_ElimEmptyInductive_elim___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -100,8 +99,6 @@ static lean_object* l_Lean_Meta_ElimEmptyInductive_instMonadBacktrackSavedStateM
|
|||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_contradictionCore___spec__4___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_contradictionCore___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_ElimEmptyInductive_elim___spec__4___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_panic___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___closed__1;
|
||||
static lean_object* l_Lean_Meta_ElimEmptyInductive_elim___lambda__4___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_ElimEmptyInductive_elim___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_contradictionCore___spec__4___lambda__3___closed__4;
|
||||
|
|
@ -157,6 +154,7 @@ LEAN_EXPORT lean_object* l_ReaderT_bind___at_Lean_Meta_ElimEmptyInductive_elim__
|
|||
LEAN_EXPORT uint8_t l_Lean_Meta_Contradiction_Config_useDecide___default;
|
||||
lean_object* l_Lean_Meta_withMVarContext___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_nestedFalseElim___lambda__1___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_contradictionCore___spec__4___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_LocalDecl_fvarId(lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_nestedFalseElim___lambda__1___closed__1;
|
||||
|
|
@ -189,8 +187,8 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta
|
|||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_ElimEmptyInductive_elim___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Name_append(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_elimEmptyInductive(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__3;
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_ElimEmptyInductive_elim___spec__4___closed__1;
|
||||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__3;
|
||||
static lean_object* l_Lean_Meta_ElimEmptyInductive_instMonadBacktrackSavedStateM___closed__4;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_elimEmptyInductive___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_commitWhen___at_Lean_Meta_ElimEmptyInductive_elim___spec__7___at_Lean_Meta_ElimEmptyInductive_elim___spec__8___lambda__2___closed__2;
|
||||
|
|
@ -204,25 +202,27 @@ lean_object* l_Lean_Meta_matchNe_x3f(lean_object*, lean_object*, lean_object*, l
|
|||
static lean_object* l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_contradictionCore___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_PersistentArray_forInAux___at_Lean_Meta_contradictionCore___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__1;
|
||||
static lean_object* l_Lean_addTrace___at_Lean_Meta_ElimEmptyInductive_elim___spec__5___closed__3;
|
||||
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Expr_isFVar(lean_object*);
|
||||
static lean_object* l_Lean_Meta_contradictionCore___closed__1;
|
||||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__2;
|
||||
lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_ElimEmptyInductive_elim___spec__1___closed__3;
|
||||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__2;
|
||||
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_withNewMCtxDepth___at___private_Lean_Meta_Instances_0__Lean_Meta_mkInstanceKey___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_mkFalseElim(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_panic_fn(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_mkNoConfusion(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Expr_hasLooseBVars(lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Lean_Meta_Contradiction_Config_emptyType___default;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Contradiction___hyg_3793_(lean_object*);
|
||||
lean_object* l_Lean_Meta_instantiateMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_mk_array(lean_object*, lean_object*);
|
||||
lean_object* l_panic___at_Lean_Meta_ACLt_lt_lexSameCtor___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at_Lean_Meta_ElimEmptyInductive_elim___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_ElimEmptyInductive_elim___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_forallMetaTelescope(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -235,22 +235,19 @@ LEAN_EXPORT lean_object* l_Lean_Meta_ElimEmptyInductive_elim(lean_object*, lean_
|
|||
lean_object* l_Lean_Meta_whnfD(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_elimEmptyInductive___lambda__1___closed__3;
|
||||
static lean_object* l_Lean_commitWhen___at_Lean_Meta_ElimEmptyInductive_elim___spec__7___at_Lean_Meta_ElimEmptyInductive_elim___spec__8___lambda__2___closed__6;
|
||||
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__1;
|
||||
lean_object* l_Lean_Expr_getAppFn(lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_contradictionCore___spec__4___lambda__3___closed__6;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_nestedFalseElim___lambda__1___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Std_PersistentArray_forInAux___at_Lean_Meta_contradictionCore___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_addTrace___at_Lean_Meta_ElimEmptyInductive_elim___spec__5___closed__7;
|
||||
uint8_t l_Lean_Expr_hasFVar(lean_object*);
|
||||
lean_object* l_Lean_mkConst(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_addTrace___at_Lean_Meta_ElimEmptyInductive_elim___spec__5___closed__5;
|
||||
lean_object* l_Lean_Meta_mkEqOfHEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_PersistentArray_forIn___at_Lean_Meta_contradictionCore___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_instMonadControlT__1___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_contradictionCore___spec__4___lambda__3(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_instInhabitedMetaM___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_nestedFalseElim___closed__1;
|
||||
lean_object* l_Lean_Meta_matchHEq_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Exception_toMessageData(lean_object*);
|
||||
|
|
@ -3593,26 +3590,7 @@ x_3 = lean_box(x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_panic___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_Lean_Meta_instInhabitedMetaM___boxed), 5, 1);
|
||||
lean_closure_set(x_1, 0, lean_box(0));
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_panic___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9;
|
||||
x_7 = l_panic___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___closed__1;
|
||||
x_8 = lean_panic_fn(x_7, x_1);
|
||||
x_9 = lean_apply_5(x_8, x_2, x_3, x_4, x_5, x_6);
|
||||
return x_9;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__1() {
|
||||
static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
|
|
@ -3622,11 +3600,11 @@ lean_ctor_set(x_2, 0, x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__2() {
|
||||
static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__1;
|
||||
x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__1;
|
||||
x_2 = lean_box(0);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -3634,17 +3612,17 @@ lean_ctor_set(x_3, 1, x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__3() {
|
||||
static lean_object* _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__2;
|
||||
x_1 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__2;
|
||||
x_2 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10;
|
||||
|
|
@ -3679,7 +3657,7 @@ if (x_16 == 0)
|
|||
lean_object* x_17; lean_object* x_18;
|
||||
x_17 = lean_ctor_get(x_13, 0);
|
||||
lean_dec(x_17);
|
||||
x_18 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__3;
|
||||
x_18 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__3;
|
||||
lean_ctor_set(x_13, 0, x_18);
|
||||
return x_13;
|
||||
}
|
||||
|
|
@ -3689,7 +3667,7 @@ lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
|||
x_19 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_13);
|
||||
x_20 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__3;
|
||||
x_20 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__3;
|
||||
x_21 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_21, 0, x_20);
|
||||
lean_ctor_set(x_21, 1, x_19);
|
||||
|
|
@ -3779,7 +3757,7 @@ return x_35;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_11;
|
||||
|
|
@ -3878,7 +3856,7 @@ lean_dec(x_13);
|
|||
x_38 = lean_ctor_get(x_35, 1);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_35);
|
||||
x_39 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__3;
|
||||
x_39 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__3;
|
||||
x_14 = x_39;
|
||||
x_15 = x_38;
|
||||
goto block_22;
|
||||
|
|
@ -3895,7 +3873,7 @@ lean_inc(x_8);
|
|||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
lean_inc(x_1);
|
||||
x_42 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1(x_33, x_13, x_1, x_41, x_6, x_7, x_8, x_9, x_40);
|
||||
x_42 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1(x_33, x_13, x_1, x_41, x_6, x_7, x_8, x_9, x_40);
|
||||
if (lean_obj_tag(x_42) == 0)
|
||||
{
|
||||
lean_object* x_43; lean_object* x_44;
|
||||
|
|
@ -4250,7 +4228,7 @@ lean_inc(x_7);
|
|||
lean_inc(x_6);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_4);
|
||||
x_19 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2(x_18, x_13, x_16, x_17, x_18, x_4, x_5, x_6, x_7, x_12);
|
||||
x_19 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1(x_18, x_13, x_16, x_17, x_18, x_4, x_5, x_6, x_7, x_12);
|
||||
if (lean_obj_tag(x_19) == 0)
|
||||
{
|
||||
lean_object* x_20; lean_object* x_21;
|
||||
|
|
@ -4435,7 +4413,7 @@ lean_dec(x_8);
|
|||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_10 = l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___closed__6;
|
||||
x_11 = l_panic___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1(x_10, x_3, x_4, x_5, x_6, x_7);
|
||||
x_11 = l_panic___at_Lean_Meta_ACLt_lt_lexSameCtor___spec__1(x_10, x_3, x_4, x_5, x_6, x_7);
|
||||
return x_11;
|
||||
}
|
||||
else
|
||||
|
|
@ -4559,16 +4537,16 @@ return x_37;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10;
|
||||
x_10 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
|
||||
x_10 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
|
||||
lean_dec(x_4);
|
||||
return x_10;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
size_t x_11; size_t x_12; lean_object* x_13;
|
||||
|
|
@ -4576,7 +4554,7 @@ x_11 = lean_unbox_usize(x_3);
|
|||
lean_dec(x_3);
|
||||
x_12 = lean_unbox_usize(x_4);
|
||||
lean_dec(x_4);
|
||||
x_13 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2(x_1, x_2, x_11, x_12, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
x_13 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1(x_1, x_2, x_11, x_12, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
lean_dec(x_2);
|
||||
return x_13;
|
||||
}
|
||||
|
|
@ -8949,14 +8927,12 @@ l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_elimEmptyInductive___lam
|
|||
lean_mark_persistent(l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_elimEmptyInductive___lambda__1___closed__2);
|
||||
l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_elimEmptyInductive___lambda__1___closed__3 = _init_l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_elimEmptyInductive___lambda__1___closed__3();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_elimEmptyInductive___lambda__1___closed__3);
|
||||
l_panic___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___closed__1 = _init_l_panic___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___closed__1();
|
||||
lean_mark_persistent(l_panic___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___closed__1);
|
||||
l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__1();
|
||||
lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__1);
|
||||
l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__2();
|
||||
lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__2);
|
||||
l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__3 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__3();
|
||||
lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__2___lambda__1___closed__3);
|
||||
l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__1 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__1();
|
||||
lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__1);
|
||||
l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__2 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__2();
|
||||
lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__2);
|
||||
l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__3 = _init_l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__3();
|
||||
lean_mark_persistent(l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___spec__1___lambda__1___closed__3);
|
||||
l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___closed__1 = _init_l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___closed__1();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___closed__1);
|
||||
l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___closed__2 = _init_l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___closed__2();
|
||||
|
|
|
|||
14
stage0/stdlib/Lean/Meta/Tactic/LinearArith.c
generated
14
stage0/stdlib/Lean/Meta/Tactic/LinearArith.c
generated
|
|
@ -1,6 +1,6 @@
|
|||
// Lean compiler output
|
||||
// Module: Lean.Meta.Tactic.LinearArith
|
||||
// Imports: Init Lean.Meta.Tactic.LinearArith.Basic Lean.Meta.Tactic.LinearArith.Nat
|
||||
// Imports: Init Lean.Meta.Tactic.LinearArith.Solver Lean.Meta.Tactic.LinearArith.Nat Lean.Meta.Tactic.LinearArith.Main Lean.Meta.Tactic.LinearArith.Simp
|
||||
#include <lean/lean.h>
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
|
|
@ -14,8 +14,10 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
lean_object* initialize_Init(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Tactic_LinearArith_Basic(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Tactic_LinearArith_Solver(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Tactic_LinearArith_Nat(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Tactic_LinearArith_Main(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Tactic_LinearArith_Simp(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Lean_Meta_Tactic_LinearArith(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
|
|
@ -24,12 +26,18 @@ _G_initialized = true;
|
|||
res = initialize_Init(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Meta_Tactic_LinearArith_Basic(builtin, lean_io_mk_world());
|
||||
res = initialize_Lean_Meta_Tactic_LinearArith_Solver(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Meta_Tactic_LinearArith_Nat(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Meta_Tactic_LinearArith_Main(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Meta_Tactic_LinearArith_Simp(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
33
stage0/stdlib/Lean/Meta/Tactic/LinearArith/Main.c
generated
Normal file
33
stage0/stdlib/Lean/Meta/Tactic/LinearArith/Main.c
generated
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
// Lean compiler output
|
||||
// Module: Lean.Meta.Tactic.LinearArith.Main
|
||||
// Imports: Init Lean.Meta.Tactic.LinearArith.Nat
|
||||
#include <lean/lean.h>
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
#pragma clang diagnostic ignored "-Wunused-label"
|
||||
#elif defined(__GNUC__) && !defined(__CLANG__)
|
||||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
#pragma GCC diagnostic ignored "-Wunused-label"
|
||||
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
lean_object* initialize_Init(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Tactic_LinearArith_Nat(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Lean_Meta_Tactic_LinearArith_Main(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
|
||||
_G_initialized = true;
|
||||
res = initialize_Init(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Meta_Tactic_LinearArith_Nat(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
3615
stage0/stdlib/Lean/Meta/Tactic/LinearArith/Nat.c
generated
3615
stage0/stdlib/Lean/Meta/Tactic/LinearArith/Nat.c
generated
File diff suppressed because it is too large
Load diff
999
stage0/stdlib/Lean/Meta/Tactic/LinearArith/Simp.c
generated
Normal file
999
stage0/stdlib/Lean/Meta/Tactic/LinearArith/Simp.c
generated
Normal file
|
|
@ -0,0 +1,999 @@
|
|||
// Lean compiler output
|
||||
// Module: Lean.Meta.Tactic.LinearArith.Simp
|
||||
// Imports: Init Lean.Meta.Tactic.LinearArith.Nat
|
||||
#include <lean/lean.h>
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
#pragma clang diagnostic ignored "-Wunused-label"
|
||||
#elif defined(__GNUC__) && !defined(__CLANG__)
|
||||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
#pragma GCC diagnostic ignored "-Wunused-label"
|
||||
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__11;
|
||||
lean_object* l_Lean_stringToMessageData(lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__12;
|
||||
static lean_object* l_Lean_Meta_Linear_simp_x3f___closed__5;
|
||||
lean_object* lean_name_mk_string(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Linear_simp_x3f___closed__3;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__17;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__8;
|
||||
static lean_object* l_Lean_Meta_Linear_simp_x3f___closed__6;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__11;
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
uint8_t lean_name_eq(lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__20;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__9;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__8;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___boxed(lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__1;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__4;
|
||||
lean_object* l_Lean_Expr_appArg_x21(lean_object*);
|
||||
static lean_object* l_Lean_Meta_Linear_simp_x3f___closed__1;
|
||||
static lean_object* l_Lean_Meta_Linear_simp_x3f___closed__10;
|
||||
lean_object* l_Lean_Meta_Linear_Nat_simpExpr_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__2;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__4;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__9;
|
||||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_Linear_Nat_simpCnstr_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__10;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__13;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__1;
|
||||
static lean_object* l_Lean_Meta_Linear_simp_x3f___closed__7;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___boxed(lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__15;
|
||||
lean_object* l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__3;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__12;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Linear_simp_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__14;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__5;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__18;
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget(lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__5;
|
||||
uint8_t l_Lean_Expr_isConst(lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__16;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_parentIsTarget___boxed(lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__14;
|
||||
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__13;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__6;
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Linear_simp_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__2;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__7;
|
||||
static lean_object* l_Lean_Meta_Linear_simp_x3f___closed__2;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__16;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Linear_simp_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_parentIsTarget(lean_object*);
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__10;
|
||||
lean_object* l_Lean_Expr_getAppFn(lean_object*);
|
||||
static lean_object* l_Lean_Meta_Linear_simp_x3f___closed__4;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__7;
|
||||
static lean_object* l_Lean_Meta_Linear_simp_x3f___closed__9;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__3;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__15;
|
||||
lean_object* l_Lean_Expr_constName_x21(lean_object*);
|
||||
static lean_object* l_Lean_Meta_Linear_simp_x3f___closed__8;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__19;
|
||||
static lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__6;
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("HAdd");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("hAdd");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__2;
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("HMul");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__5;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("hMul");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__6;
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__7;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("HSub");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__10() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__9;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__11() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("hSub");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__12() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__10;
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__11;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__13() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("Nat");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__14() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__13;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__15() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("succ");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__16() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__14;
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__15;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; uint8_t x_3;
|
||||
x_2 = l_Lean_Expr_getAppFn(x_1);
|
||||
x_3 = l_Lean_Expr_isConst(x_2);
|
||||
if (x_3 == 0)
|
||||
{
|
||||
uint8_t x_4;
|
||||
lean_dec(x_2);
|
||||
x_4 = 0;
|
||||
return x_4;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_5; lean_object* x_6; uint8_t x_7;
|
||||
x_5 = l_Lean_Expr_constName_x21(x_2);
|
||||
lean_dec(x_2);
|
||||
x_6 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__4;
|
||||
x_7 = lean_name_eq(x_5, x_6);
|
||||
if (x_7 == 0)
|
||||
{
|
||||
lean_object* x_8; uint8_t x_9;
|
||||
x_8 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__8;
|
||||
x_9 = lean_name_eq(x_5, x_8);
|
||||
if (x_9 == 0)
|
||||
{
|
||||
lean_object* x_10; uint8_t x_11;
|
||||
x_10 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__12;
|
||||
x_11 = lean_name_eq(x_5, x_10);
|
||||
if (x_11 == 0)
|
||||
{
|
||||
lean_object* x_12; uint8_t x_13;
|
||||
x_12 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__16;
|
||||
x_13 = lean_name_eq(x_5, x_12);
|
||||
lean_dec(x_5);
|
||||
return x_13;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_14;
|
||||
lean_dec(x_5);
|
||||
x_14 = 1;
|
||||
return x_14;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_15;
|
||||
lean_dec(x_5);
|
||||
x_15 = 1;
|
||||
return x_15;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_16;
|
||||
lean_dec(x_5);
|
||||
x_16 = 1;
|
||||
return x_16;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_2; lean_object* x_3;
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget(x_1);
|
||||
lean_dec(x_1);
|
||||
x_3 = lean_box(x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("Eq");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("LT");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("lt");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__4;
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__5;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("LE");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__7;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("le");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__10() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__8;
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__9;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__11() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("GT");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__12() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__11;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__13() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("gt");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__14() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__12;
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__13;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__15() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("GE");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__16() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__15;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__17() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("ge");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__18() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__16;
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__17;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__19() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("Not");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__20() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__19;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; uint8_t x_3;
|
||||
x_2 = l_Lean_Expr_getAppFn(x_1);
|
||||
x_3 = l_Lean_Expr_isConst(x_2);
|
||||
if (x_3 == 0)
|
||||
{
|
||||
uint8_t x_4;
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_4 = 0;
|
||||
return x_4;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_5; lean_object* x_6; uint8_t x_7;
|
||||
x_5 = l_Lean_Expr_constName_x21(x_2);
|
||||
lean_dec(x_2);
|
||||
x_6 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__2;
|
||||
x_7 = lean_name_eq(x_5, x_6);
|
||||
if (x_7 == 0)
|
||||
{
|
||||
lean_object* x_8; uint8_t x_9;
|
||||
x_8 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__6;
|
||||
x_9 = lean_name_eq(x_5, x_8);
|
||||
if (x_9 == 0)
|
||||
{
|
||||
lean_object* x_10; uint8_t x_11;
|
||||
x_10 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__10;
|
||||
x_11 = lean_name_eq(x_5, x_10);
|
||||
if (x_11 == 0)
|
||||
{
|
||||
lean_object* x_12; uint8_t x_13;
|
||||
x_12 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__14;
|
||||
x_13 = lean_name_eq(x_5, x_12);
|
||||
if (x_13 == 0)
|
||||
{
|
||||
lean_object* x_14; uint8_t x_15;
|
||||
x_14 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__18;
|
||||
x_15 = lean_name_eq(x_5, x_14);
|
||||
if (x_15 == 0)
|
||||
{
|
||||
lean_object* x_16; uint8_t x_17;
|
||||
x_16 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__20;
|
||||
x_17 = lean_name_eq(x_5, x_16);
|
||||
lean_dec(x_5);
|
||||
if (x_17 == 0)
|
||||
{
|
||||
uint8_t x_18;
|
||||
lean_dec(x_1);
|
||||
x_18 = 0;
|
||||
return x_18;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22;
|
||||
x_19 = lean_unsigned_to_nat(0u);
|
||||
x_20 = l_Lean_Expr_getAppNumArgsAux(x_1, x_19);
|
||||
x_21 = lean_unsigned_to_nat(1u);
|
||||
x_22 = lean_nat_dec_eq(x_20, x_21);
|
||||
lean_dec(x_20);
|
||||
if (x_22 == 0)
|
||||
{
|
||||
uint8_t x_23;
|
||||
lean_dec(x_1);
|
||||
x_23 = 0;
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_24;
|
||||
x_24 = l_Lean_Expr_appArg_x21(x_1);
|
||||
lean_dec(x_1);
|
||||
x_1 = x_24;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_26;
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_1);
|
||||
x_26 = 1;
|
||||
return x_26;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_27;
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_1);
|
||||
x_27 = 1;
|
||||
return x_27;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_28;
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_1);
|
||||
x_28 = 1;
|
||||
return x_28;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_29;
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_1);
|
||||
x_29 = 1;
|
||||
return x_29;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_30;
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_1);
|
||||
x_30 = 1;
|
||||
return x_30;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_2; lean_object* x_3;
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget(x_1);
|
||||
x_3 = lean_box(x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_parentIsTarget(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 0)
|
||||
{
|
||||
uint8_t x_2;
|
||||
x_2 = 0;
|
||||
return x_2;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_3; uint8_t x_4;
|
||||
x_3 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_3);
|
||||
lean_dec(x_1);
|
||||
x_4 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget(x_3);
|
||||
if (x_4 == 0)
|
||||
{
|
||||
uint8_t x_5;
|
||||
x_5 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget(x_3);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_6;
|
||||
lean_dec(x_3);
|
||||
x_6 = 1;
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_parentIsTarget___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_2; lean_object* x_3;
|
||||
x_2 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_parentIsTarget(x_1);
|
||||
x_3 = lean_box(x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Linear_simp_x3f___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_8;
|
||||
x_8 = l_Lean_Meta_Linear_Nat_simpExpr_x3f(x_1, x_3, x_4, x_5, x_6, x_7);
|
||||
return x_8;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Linear_simp_x3f___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("Meta");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Linear_simp_x3f___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Meta_Linear_simp_x3f___closed__1;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Linear_simp_x3f___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("Tactic");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Linear_simp_x3f___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Meta_Linear_simp_x3f___closed__2;
|
||||
x_2 = l_Lean_Meta_Linear_simp_x3f___closed__3;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Linear_simp_x3f___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("simp");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Linear_simp_x3f___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Meta_Linear_simp_x3f___closed__4;
|
||||
x_2 = l_Lean_Meta_Linear_simp_x3f___closed__5;
|
||||
x_3 = lean_name_mk_string(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Linear_simp_x3f___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("arith expr: ");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Linear_simp_x3f___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Meta_Linear_simp_x3f___closed__7;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Linear_simp_x3f___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string("");
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Linear_simp_x3f___closed__10() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Meta_Linear_simp_x3f___closed__9;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Linear_simp_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_8;
|
||||
lean_inc(x_1);
|
||||
x_8 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget(x_1);
|
||||
if (x_8 == 0)
|
||||
{
|
||||
uint8_t x_9;
|
||||
x_9 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget(x_1);
|
||||
if (x_9 == 0)
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11;
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_10 = lean_box(0);
|
||||
x_11 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_11, 0, x_10);
|
||||
lean_ctor_set(x_11, 1, x_7);
|
||||
return x_11;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_12;
|
||||
x_12 = l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_parentIsTarget(x_2);
|
||||
if (x_12 == 0)
|
||||
{
|
||||
lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29;
|
||||
x_13 = l_Lean_Meta_Linear_simp_x3f___closed__6;
|
||||
x_26 = lean_st_ref_get(x_6, x_7);
|
||||
x_27 = lean_ctor_get(x_26, 0);
|
||||
lean_inc(x_27);
|
||||
x_28 = lean_ctor_get(x_27, 3);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_27);
|
||||
x_29 = lean_ctor_get_uint8(x_28, sizeof(void*)*1);
|
||||
lean_dec(x_28);
|
||||
if (x_29 == 0)
|
||||
{
|
||||
lean_object* x_30; uint8_t x_31;
|
||||
x_30 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_30);
|
||||
lean_dec(x_26);
|
||||
x_31 = 0;
|
||||
x_14 = x_31;
|
||||
x_15 = x_30;
|
||||
goto block_25;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36;
|
||||
x_32 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_32);
|
||||
lean_dec(x_26);
|
||||
x_33 = l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__14(x_13, x_3, x_4, x_5, x_6, x_32);
|
||||
x_34 = lean_ctor_get(x_33, 0);
|
||||
lean_inc(x_34);
|
||||
x_35 = lean_ctor_get(x_33, 1);
|
||||
lean_inc(x_35);
|
||||
lean_dec(x_33);
|
||||
x_36 = lean_unbox(x_34);
|
||||
lean_dec(x_34);
|
||||
x_14 = x_36;
|
||||
x_15 = x_35;
|
||||
goto block_25;
|
||||
}
|
||||
block_25:
|
||||
{
|
||||
if (x_14 == 0)
|
||||
{
|
||||
lean_object* x_16;
|
||||
x_16 = l_Lean_Meta_Linear_Nat_simpExpr_x3f(x_1, x_3, x_4, x_5, x_6, x_15);
|
||||
return x_16;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
lean_inc(x_1);
|
||||
x_17 = lean_alloc_ctor(2, 1, 0);
|
||||
lean_ctor_set(x_17, 0, x_1);
|
||||
x_18 = l_Lean_Meta_Linear_simp_x3f___closed__8;
|
||||
x_19 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_19, 0, x_18);
|
||||
lean_ctor_set(x_19, 1, x_17);
|
||||
x_20 = l_Lean_Meta_Linear_simp_x3f___closed__10;
|
||||
x_21 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_21, 0, x_19);
|
||||
lean_ctor_set(x_21, 1, x_20);
|
||||
x_22 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__1(x_13, x_21, x_3, x_4, x_5, x_6, x_15);
|
||||
x_23 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_23);
|
||||
lean_dec(x_22);
|
||||
x_24 = l_Lean_Meta_Linear_Nat_simpExpr_x3f(x_1, x_3, x_4, x_5, x_6, x_23);
|
||||
return x_24;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38;
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_1);
|
||||
x_37 = lean_box(0);
|
||||
x_38 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_38, 0, x_37);
|
||||
lean_ctor_set(x_38, 1, x_7);
|
||||
return x_38;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_39;
|
||||
lean_dec(x_2);
|
||||
x_39 = l_Lean_Meta_Linear_Nat_simpCnstr_x3f(x_1, x_3, x_4, x_5, x_6, x_7);
|
||||
return x_39;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Linear_simp_x3f___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_8;
|
||||
x_8 = l_Lean_Meta_Linear_simp_x3f___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7);
|
||||
lean_dec(x_2);
|
||||
return x_8;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Init(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Tactic_LinearArith_Nat(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Lean_Meta_Tactic_LinearArith_Simp(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
|
||||
_G_initialized = true;
|
||||
res = initialize_Init(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Meta_Tactic_LinearArith_Nat(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__1 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__1();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__1);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__2 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__2();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__2);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__3 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__3();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__3);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__4 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__4();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__4);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__5 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__5();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__5);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__6 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__6();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__6);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__7 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__7();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__7);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__8 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__8();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__8);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__9 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__9();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__9);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__10 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__10();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__10);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__11 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__11();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__11);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__12 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__12();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__12);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__13 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__13();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__13);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__14 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__14();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__14);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__15 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__15();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__15);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__16 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__16();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpExprTarget___closed__16);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__1 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__1();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__1);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__2 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__2();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__2);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__3 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__3();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__3);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__4 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__4();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__4);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__5 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__5();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__5);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__6 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__6();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__6);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__7 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__7();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__7);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__8 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__8();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__8);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__9 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__9();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__9);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__10 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__10();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__10);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__11 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__11();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__11);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__12 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__12();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__12);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__13 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__13();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__13);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__14 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__14();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__14);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__15 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__15();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__15);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__16 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__16();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__16);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__17 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__17();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__17);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__18 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__18();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__18);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__19 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__19();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__19);
|
||||
l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__20 = _init_l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__20();
|
||||
lean_mark_persistent(l___private_Lean_Meta_Tactic_LinearArith_Simp_0__Lean_Meta_Linear_isSimpCnstrTarget___closed__20);
|
||||
l_Lean_Meta_Linear_simp_x3f___closed__1 = _init_l_Lean_Meta_Linear_simp_x3f___closed__1();
|
||||
lean_mark_persistent(l_Lean_Meta_Linear_simp_x3f___closed__1);
|
||||
l_Lean_Meta_Linear_simp_x3f___closed__2 = _init_l_Lean_Meta_Linear_simp_x3f___closed__2();
|
||||
lean_mark_persistent(l_Lean_Meta_Linear_simp_x3f___closed__2);
|
||||
l_Lean_Meta_Linear_simp_x3f___closed__3 = _init_l_Lean_Meta_Linear_simp_x3f___closed__3();
|
||||
lean_mark_persistent(l_Lean_Meta_Linear_simp_x3f___closed__3);
|
||||
l_Lean_Meta_Linear_simp_x3f___closed__4 = _init_l_Lean_Meta_Linear_simp_x3f___closed__4();
|
||||
lean_mark_persistent(l_Lean_Meta_Linear_simp_x3f___closed__4);
|
||||
l_Lean_Meta_Linear_simp_x3f___closed__5 = _init_l_Lean_Meta_Linear_simp_x3f___closed__5();
|
||||
lean_mark_persistent(l_Lean_Meta_Linear_simp_x3f___closed__5);
|
||||
l_Lean_Meta_Linear_simp_x3f___closed__6 = _init_l_Lean_Meta_Linear_simp_x3f___closed__6();
|
||||
lean_mark_persistent(l_Lean_Meta_Linear_simp_x3f___closed__6);
|
||||
l_Lean_Meta_Linear_simp_x3f___closed__7 = _init_l_Lean_Meta_Linear_simp_x3f___closed__7();
|
||||
lean_mark_persistent(l_Lean_Meta_Linear_simp_x3f___closed__7);
|
||||
l_Lean_Meta_Linear_simp_x3f___closed__8 = _init_l_Lean_Meta_Linear_simp_x3f___closed__8();
|
||||
lean_mark_persistent(l_Lean_Meta_Linear_simp_x3f___closed__8);
|
||||
l_Lean_Meta_Linear_simp_x3f___closed__9 = _init_l_Lean_Meta_Linear_simp_x3f___closed__9();
|
||||
lean_mark_persistent(l_Lean_Meta_Linear_simp_x3f___closed__9);
|
||||
l_Lean_Meta_Linear_simp_x3f___closed__10 = _init_l_Lean_Meta_Linear_simp_x3f___closed__10();
|
||||
lean_mark_persistent(l_Lean_Meta_Linear_simp_x3f___closed__10);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load diff
1642
stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c
generated
1642
stage0/stdlib/Lean/Meta/Tactic/Simp/Main.c
generated
File diff suppressed because it is too large
Load diff
1866
stage0/stdlib/Lean/Meta/Tactic/Simp/Rewrite.c
generated
1866
stage0/stdlib/Lean/Meta/Tactic/Simp/Rewrite.c
generated
File diff suppressed because it is too large
Load diff
50
stage0/stdlib/Lean/Meta/Tactic/Simp/Types.c
generated
50
stage0/stdlib/Lean/Meta/Tactic/Simp/Types.c
generated
|
|
@ -94,6 +94,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Simp_getSimpCongrTheorems___rarg___boxed(le
|
|||
LEAN_EXPORT lean_object* l_Lean_Meta_Simp_Result_proof_x3f___default;
|
||||
static lean_object* l_Lean_Meta_Simp_instMonadBacktrackSavedStateSimpM___closed__3;
|
||||
static lean_object* l_Lean_Meta_Simp_instInhabitedContext___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Simp_Step_updateResult(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Simp_Context_config___default___closed__1;
|
||||
static lean_object* l_Lean_Meta_Simp_Context_simpTheorems___default___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Simp_Context_simpTheorems___default;
|
||||
|
|
@ -179,7 +180,7 @@ lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 6, x_4);
|
|||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 7, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 8, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 9, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 10, x_4);
|
||||
lean_ctor_set_uint8(x_5, sizeof(void*)*2 + 10, x_3);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
|
|
@ -659,6 +660,53 @@ lean_dec(x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Simp_Step_updateResult(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 0)
|
||||
{
|
||||
uint8_t x_3;
|
||||
x_3 = !lean_is_exclusive(x_1);
|
||||
if (x_3 == 0)
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = lean_ctor_get(x_1, 0);
|
||||
lean_dec(x_4);
|
||||
lean_ctor_set(x_1, 0, x_2);
|
||||
return x_1;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_5;
|
||||
lean_dec(x_1);
|
||||
x_5 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_5, 0, x_2);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_6;
|
||||
x_6 = !lean_is_exclusive(x_1);
|
||||
if (x_6 == 0)
|
||||
{
|
||||
lean_object* x_7;
|
||||
x_7 = lean_ctor_get(x_1, 0);
|
||||
lean_dec(x_7);
|
||||
lean_ctor_set(x_1, 0, x_2);
|
||||
return x_1;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_8;
|
||||
lean_dec(x_1);
|
||||
x_8 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_8, 0, x_2);
|
||||
return x_8;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Simp_Methods_pre___default(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
|
||||
_start:
|
||||
{
|
||||
|
|
|
|||
2346
stage0/stdlib/Lean/Server/FileWorker.c
generated
2346
stage0/stdlib/Lean/Server/FileWorker.c
generated
File diff suppressed because it is too large
Load diff
|
|
@ -142,6 +142,7 @@ static lean_object* l_Lean_Server_FileWorker_handleWaitForDiagnostics___lambda__
|
|||
static lean_object* l_Lean_Server_FileWorker_noHighlightKinds___closed__9;
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleDefinition___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleCompletion___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Server_DocumentMeta_mkInputContext(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_liftExcept___at_Lean_Server_FileWorker_handleWaitForDiagnostics___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_8441_(lean_object*);
|
||||
|
|
@ -12921,7 +12922,7 @@ return x_8;
|
|||
LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleDocumentSymbol___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13;
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12;
|
||||
x_7 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_7);
|
||||
x_8 = l_List_getLastD___rarg(x_2, x_7);
|
||||
|
|
@ -12929,20 +12930,20 @@ lean_dec(x_7);
|
|||
x_9 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_9);
|
||||
lean_dec(x_1);
|
||||
x_10 = lean_ctor_get(x_9, 2);
|
||||
lean_inc(x_10);
|
||||
lean_dec(x_9);
|
||||
x_11 = lean_ctor_get(x_10, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = l_Lean_Server_Snapshots_parseAhead(x_11, x_8, x_6);
|
||||
x_13 = !lean_is_exclusive(x_12);
|
||||
if (x_13 == 0)
|
||||
lean_inc(x_9);
|
||||
x_10 = l_Lean_Server_DocumentMeta_mkInputContext(x_9);
|
||||
x_11 = l_Lean_Server_Snapshots_parseAhead(x_10, x_8, x_6);
|
||||
x_12 = !lean_is_exclusive(x_11);
|
||||
if (x_12 == 0)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
||||
x_14 = lean_ctor_get(x_12, 0);
|
||||
x_15 = lean_array_to_list(lean_box(0), x_14);
|
||||
x_16 = l_List_appendTR___rarg(x_3, x_15);
|
||||
x_17 = l_Lean_Server_FileWorker_handleDocumentSymbol_toDocumentSymbols(x_10, x_16);
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
||||
x_13 = lean_ctor_get(x_11, 0);
|
||||
x_14 = lean_array_to_list(lean_box(0), x_13);
|
||||
x_15 = l_List_appendTR___rarg(x_3, x_14);
|
||||
x_16 = lean_ctor_get(x_9, 2);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_9);
|
||||
x_17 = l_Lean_Server_FileWorker_handleDocumentSymbol_toDocumentSymbols(x_16, x_15);
|
||||
x_18 = lean_ctor_get(x_17, 0);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_17);
|
||||
|
|
@ -12950,31 +12951,34 @@ x_19 = l_List_redLength___rarg(x_18);
|
|||
x_20 = lean_mk_empty_array_with_capacity(x_19);
|
||||
lean_dec(x_19);
|
||||
x_21 = l_List_toArrayAux___rarg(x_18, x_20);
|
||||
lean_ctor_set(x_12, 0, x_21);
|
||||
return x_12;
|
||||
lean_ctor_set(x_11, 0, x_21);
|
||||
return x_11;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
x_22 = lean_ctor_get(x_12, 0);
|
||||
x_23 = lean_ctor_get(x_12, 1);
|
||||
lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_22 = lean_ctor_get(x_11, 0);
|
||||
x_23 = lean_ctor_get(x_11, 1);
|
||||
lean_inc(x_23);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
x_24 = lean_array_to_list(lean_box(0), x_22);
|
||||
x_25 = l_List_appendTR___rarg(x_3, x_24);
|
||||
x_26 = l_Lean_Server_FileWorker_handleDocumentSymbol_toDocumentSymbols(x_10, x_25);
|
||||
x_27 = lean_ctor_get(x_26, 0);
|
||||
lean_inc(x_27);
|
||||
lean_dec(x_26);
|
||||
x_28 = l_List_redLength___rarg(x_27);
|
||||
x_29 = lean_mk_empty_array_with_capacity(x_28);
|
||||
lean_dec(x_28);
|
||||
x_30 = l_List_toArrayAux___rarg(x_27, x_29);
|
||||
x_31 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_31, 0, x_30);
|
||||
lean_ctor_set(x_31, 1, x_23);
|
||||
return x_31;
|
||||
x_26 = lean_ctor_get(x_9, 2);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_9);
|
||||
x_27 = l_Lean_Server_FileWorker_handleDocumentSymbol_toDocumentSymbols(x_26, x_25);
|
||||
x_28 = lean_ctor_get(x_27, 0);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_27);
|
||||
x_29 = l_List_redLength___rarg(x_28);
|
||||
x_30 = lean_mk_empty_array_with_capacity(x_29);
|
||||
lean_dec(x_29);
|
||||
x_31 = l_List_toArrayAux___rarg(x_28, x_30);
|
||||
x_32 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_32, 0, x_31);
|
||||
lean_ctor_set(x_32, 1, x_23);
|
||||
return x_32;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
1382
stage0/stdlib/Lean/Server/Snapshots.c
generated
1382
stage0/stdlib/Lean/Server/Snapshots.c
generated
File diff suppressed because it is too large
Load diff
44
stage0/stdlib/Lean/Server/Utils.c
generated
44
stage0/stdlib/Lean/Server/Utils.c
generated
|
|
@ -1,6 +1,6 @@
|
|||
// Lean compiler output
|
||||
// Module: Lean.Server.Utils
|
||||
// Imports: Init Lean.Data.Position Lean.Data.Lsp Lean.Server.InfoUtils Init.System.FilePath
|
||||
// Imports: Init Lean.Data.Position Lean.Data.Lsp Lean.Server.InfoUtils Init.System.FilePath Lean.Parser.Basic
|
||||
#include <lean/lean.h>
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
|
|
@ -47,6 +47,7 @@ lean_object* l_Lean_FileMap_lspPosToUtf8Pos(lean_object*, lean_object*);
|
|||
LEAN_EXPORT lean_object* l_IO_throwServerError___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_String_dropWhile(lean_object*, lean_object*);
|
||||
lean_object* lean_string_utf8_byte_size(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_DocumentMeta_mkInputContext(lean_object*);
|
||||
static lean_object* l_Lean_Server_publishDiagnostics___closed__1;
|
||||
lean_object* l_Lean_FileMap_utf8PosToLspPos(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_IO_FS_Stream_chainLeft___elambda__5(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -1511,6 +1512,43 @@ x_1 = l_Lean_Server_instInhabitedDocumentMeta___closed__4;
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_DocumentMeta_mkInputContext(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_2 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_2);
|
||||
x_3 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_3);
|
||||
lean_dec(x_1);
|
||||
x_4 = lean_ctor_get(x_2, 0);
|
||||
lean_inc(x_4);
|
||||
lean_inc(x_3);
|
||||
x_5 = l_Lean_Lsp_DocumentUri_toPath_x3f(x_3);
|
||||
if (lean_obj_tag(x_5) == 0)
|
||||
{
|
||||
lean_object* x_6;
|
||||
x_6 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_6, 0, x_4);
|
||||
lean_ctor_set(x_6, 1, x_3);
|
||||
lean_ctor_set(x_6, 2, x_2);
|
||||
return x_6;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8;
|
||||
lean_dec(x_3);
|
||||
x_7 = lean_ctor_get(x_5, 0);
|
||||
lean_inc(x_7);
|
||||
lean_dec(x_5);
|
||||
x_8 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_8, 0, x_4);
|
||||
lean_ctor_set(x_8, 1, x_7);
|
||||
lean_ctor_set(x_8, 2, x_2);
|
||||
return x_8;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_replaceLspRange(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -2085,6 +2123,7 @@ lean_object* initialize_Lean_Data_Position(uint8_t builtin, lean_object*);
|
|||
lean_object* initialize_Lean_Data_Lsp(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Server_InfoUtils(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Init_System_FilePath(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Parser_Basic(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Lean_Server_Utils(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
|
|
@ -2105,6 +2144,9 @@ lean_dec_ref(res);
|
|||
res = initialize_Init_System_FilePath(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Parser_Basic(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Lsp_DocumentUri_ofPath___closed__1 = _init_l_Lean_Lsp_DocumentUri_ofPath___closed__1();
|
||||
lean_mark_persistent(l_Lean_Lsp_DocumentUri_ofPath___closed__1);
|
||||
l_Lean_Lsp_DocumentUri_ofPath___closed__2 = _init_l_Lean_Lsp_DocumentUri_ofPath___closed__2();
|
||||
|
|
|
|||
66
stage0/stdlib/Lean/Util/Path.c
generated
66
stage0/stdlib/Lean/Util/Path.c
generated
|
|
@ -21,11 +21,10 @@ LEAN_EXPORT lean_object* l_Lean_moduleNameOfFileName___lambda__2(lean_object*, l
|
|||
static lean_object* l_Lean_modToFilePath_go___closed__4;
|
||||
size_t lean_usize_add(size_t, size_t);
|
||||
static lean_object* l_Lean_findOLean___closed__3;
|
||||
static lean_object* l_Lean_findSysroot_x3f___lambda__1___closed__3;
|
||||
static lean_object* l_Lean_modToFilePath_go___closed__1;
|
||||
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_searchModuleNameOfFileName___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_findSysroot_x3f___closed__1;
|
||||
static lean_object* l_Lean_findSysroot___closed__1;
|
||||
lean_object* l_System_FilePath_join(lean_object*, lean_object*);
|
||||
lean_object* lean_name_mk_string(lean_object*, lean_object*);
|
||||
uint8_t lean_usize_dec_eq(size_t, size_t);
|
||||
|
|
@ -33,27 +32,32 @@ lean_object* lean_array_uget(lean_object*, size_t);
|
|||
LEAN_EXPORT lean_object* l_Lean_modToFilePath_go___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* lean_init_search_path(lean_object*);
|
||||
lean_object* l_Array_append___rarg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_findSysroot(lean_object*, lean_object*);
|
||||
extern uint8_t l_System_FilePath_isCaseInsensitive;
|
||||
LEAN_EXPORT lean_object* l_Lean_SearchPath_findWithExt___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_SearchPath_findAllWithExt___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_searchPathRef;
|
||||
LEAN_EXPORT lean_object* l_Lean_findSysroot_x3f(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_findSysroot___lambda__1___closed__2;
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_findSysroot___lambda__1___closed__4;
|
||||
lean_object* l_System_FilePath_components(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_findSysroot_x3f___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_getBuiltinSearchPath(lean_object*, lean_object*);
|
||||
lean_object* lean_array_push(lean_object*, lean_object*);
|
||||
lean_object* lean_array_get_size(lean_object*);
|
||||
lean_object* lean_string_append(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_modToFilePath_go(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_findSysroot___lambda__1___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_moduleNameOfFileName___lambda__3(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_findSysroot___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_List_forIn_loop___at_Lean_SearchPath_findAllWithExt___spec__3___closed__1;
|
||||
static lean_object* l_Lean_moduleNameOfFileName___lambda__2___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_findOLean(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_findSysroot___lambda__1___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_modToFilePath___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_System_FilePath_pathExists(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_initSearchPath___closed__1;
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_SearchPath_findAllWithExt___spec__3___lambda__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_findSysroot___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
static uint8_t l_Lean_getLibDir___closed__2;
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_searchModuleNameOfFileName___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_findOLean_maybeThisOne___closed__2;
|
||||
|
|
@ -115,7 +119,6 @@ static lean_object* l_Lean_findOLean_maybeThisOne___closed__1;
|
|||
lean_object* l_System_FilePath_isDir(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_modToFilePath(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_findSysroot_x3f___lambda__1___closed__2;
|
||||
LEAN_EXPORT lean_object* l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_800____at_Lean_SearchPath_findAllWithExt___spec__1___boxed(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_SearchPath_findAllWithExt___closed__1;
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Util_Path_0__Lean_isStage0(lean_object*);
|
||||
|
|
@ -134,12 +137,9 @@ LEAN_EXPORT uint8_t l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_
|
|||
lean_object* l_System_FilePath_withExtension(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_findOLean_maybeThisOne(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_String_drop(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_findSysroot_x3f___lambda__1___closed__4;
|
||||
LEAN_EXPORT lean_object* l_List_findM_x3f___at_Lean_SearchPath_findWithExt___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Name_getRoot(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_SearchPath_findModuleWithExt(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_findSysroot_x3f___lambda__1___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_findSysroot_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_searchModuleNameOfFileName___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_getBuildDir___closed__2;
|
||||
lean_object* l_List_appendTR___rarg(lean_object*, lean_object*);
|
||||
|
|
@ -2306,7 +2306,7 @@ lean_dec(x_2);
|
|||
return x_4;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_findSysroot_x3f___lambda__1___closed__1() {
|
||||
static lean_object* _init_l_Lean_findSysroot___lambda__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_1; lean_object* x_2;
|
||||
|
|
@ -2318,7 +2318,7 @@ lean_ctor_set_uint8(x_2, 2, x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_findSysroot_x3f___lambda__1___closed__2() {
|
||||
static lean_object* _init_l_Lean_findSysroot___lambda__1___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
|
|
@ -2327,7 +2327,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_findSysroot_x3f___lambda__1___closed__3() {
|
||||
static lean_object* _init_l_Lean_findSysroot___lambda__1___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -2335,23 +2335,23 @@ x_1 = lean_mk_string("--print-prefix");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_findSysroot_x3f___lambda__1___closed__4() {
|
||||
static lean_object* _init_l_Lean_findSysroot___lambda__1___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_findSysroot_x3f___lambda__1___closed__2;
|
||||
x_2 = l_Lean_findSysroot_x3f___lambda__1___closed__3;
|
||||
x_1 = l_Lean_findSysroot___lambda__1___closed__2;
|
||||
x_2 = l_Lean_findSysroot___lambda__1___closed__3;
|
||||
x_3 = lean_array_push(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_findSysroot_x3f___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
LEAN_EXPORT lean_object* l_Lean_findSysroot___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9;
|
||||
x_4 = lean_box(0);
|
||||
x_5 = l_Lean_findSysroot_x3f___lambda__1___closed__1;
|
||||
x_6 = l_Lean_findSysroot_x3f___lambda__1___closed__4;
|
||||
x_5 = l_Lean_findSysroot___lambda__1___closed__1;
|
||||
x_6 = l_Lean_findSysroot___lambda__1___closed__4;
|
||||
x_7 = l_Lean_SearchPath_findAllWithExt___closed__1;
|
||||
x_8 = lean_alloc_ctor(0, 5, 0);
|
||||
lean_ctor_set(x_8, 0, x_5);
|
||||
|
|
@ -2413,7 +2413,7 @@ return x_20;
|
|||
}
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_findSysroot_x3f___closed__1() {
|
||||
static lean_object* _init_l_Lean_findSysroot___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -2421,11 +2421,11 @@ x_1 = lean_mk_string("LEAN_SYSROOT");
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_findSysroot_x3f(lean_object* x_1, lean_object* x_2) {
|
||||
LEAN_EXPORT lean_object* l_Lean_findSysroot(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_3 = l_Lean_findSysroot_x3f___closed__1;
|
||||
x_3 = l_Lean_findSysroot___closed__1;
|
||||
x_4 = lean_io_getenv(x_3, x_2);
|
||||
x_5 = lean_ctor_get(x_4, 0);
|
||||
lean_inc(x_5);
|
||||
|
|
@ -2436,7 +2436,7 @@ x_6 = lean_ctor_get(x_4, 1);
|
|||
lean_inc(x_6);
|
||||
lean_dec(x_4);
|
||||
x_7 = lean_box(0);
|
||||
x_8 = l_Lean_findSysroot_x3f___lambda__1(x_1, x_7, x_6);
|
||||
x_8 = l_Lean_findSysroot___lambda__1(x_1, x_7, x_6);
|
||||
return x_8;
|
||||
}
|
||||
else
|
||||
|
|
@ -2472,11 +2472,11 @@ return x_14;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_findSysroot_x3f___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
LEAN_EXPORT lean_object* l_Lean_findSysroot___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = l_Lean_findSysroot_x3f___lambda__1(x_1, x_2, x_3);
|
||||
x_4 = l_Lean_findSysroot___lambda__1(x_1, x_2, x_3);
|
||||
lean_dec(x_2);
|
||||
return x_4;
|
||||
}
|
||||
|
|
@ -2560,16 +2560,16 @@ l_Lean_moduleNameOfFileName___lambda__3___closed__1 = _init_l_Lean_moduleNameOfF
|
|||
lean_mark_persistent(l_Lean_moduleNameOfFileName___lambda__3___closed__1);
|
||||
l_Lean_searchModuleNameOfFileName___closed__1 = _init_l_Lean_searchModuleNameOfFileName___closed__1();
|
||||
lean_mark_persistent(l_Lean_searchModuleNameOfFileName___closed__1);
|
||||
l_Lean_findSysroot_x3f___lambda__1___closed__1 = _init_l_Lean_findSysroot_x3f___lambda__1___closed__1();
|
||||
lean_mark_persistent(l_Lean_findSysroot_x3f___lambda__1___closed__1);
|
||||
l_Lean_findSysroot_x3f___lambda__1___closed__2 = _init_l_Lean_findSysroot_x3f___lambda__1___closed__2();
|
||||
lean_mark_persistent(l_Lean_findSysroot_x3f___lambda__1___closed__2);
|
||||
l_Lean_findSysroot_x3f___lambda__1___closed__3 = _init_l_Lean_findSysroot_x3f___lambda__1___closed__3();
|
||||
lean_mark_persistent(l_Lean_findSysroot_x3f___lambda__1___closed__3);
|
||||
l_Lean_findSysroot_x3f___lambda__1___closed__4 = _init_l_Lean_findSysroot_x3f___lambda__1___closed__4();
|
||||
lean_mark_persistent(l_Lean_findSysroot_x3f___lambda__1___closed__4);
|
||||
l_Lean_findSysroot_x3f___closed__1 = _init_l_Lean_findSysroot_x3f___closed__1();
|
||||
lean_mark_persistent(l_Lean_findSysroot_x3f___closed__1);
|
||||
l_Lean_findSysroot___lambda__1___closed__1 = _init_l_Lean_findSysroot___lambda__1___closed__1();
|
||||
lean_mark_persistent(l_Lean_findSysroot___lambda__1___closed__1);
|
||||
l_Lean_findSysroot___lambda__1___closed__2 = _init_l_Lean_findSysroot___lambda__1___closed__2();
|
||||
lean_mark_persistent(l_Lean_findSysroot___lambda__1___closed__2);
|
||||
l_Lean_findSysroot___lambda__1___closed__3 = _init_l_Lean_findSysroot___lambda__1___closed__3();
|
||||
lean_mark_persistent(l_Lean_findSysroot___lambda__1___closed__3);
|
||||
l_Lean_findSysroot___lambda__1___closed__4 = _init_l_Lean_findSysroot___lambda__1___closed__4();
|
||||
lean_mark_persistent(l_Lean_findSysroot___lambda__1___closed__4);
|
||||
l_Lean_findSysroot___closed__1 = _init_l_Lean_findSysroot___closed__1();
|
||||
lean_mark_persistent(l_Lean_findSysroot___closed__1);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
65
stage0/stdlib/Lean/Widget/InteractiveCode.c
generated
65
stage0/stdlib/Lean/Widget/InteractiveCode.c
generated
|
|
@ -59,7 +59,6 @@ static lean_object* l___private_Lean_Widget_InteractiveCode_0__Lean_Widget_Lean_
|
|||
LEAN_EXPORT lean_object* l_Lean_Widget_Lean_Widget_CodeToken_instRpcEncodingCodeTokenRpcEncodingPacket___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Widget_instInhabitedInfoWithCtx___closed__11;
|
||||
LEAN_EXPORT lean_object* l_Lean_Widget_Lean_Widget_InfoWithCtx_instRpcEncodingWithRpcRefInfoWithCtxRpcRef___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Widget_traverse_go___spec__1(lean_object*);
|
||||
static lean_object* l_Lean_Widget_Lean_Widget_CodeToken_instRpcEncodingCodeTokenRpcEncodingPacket___closed__3;
|
||||
static lean_object* l___private_Lean_Widget_InteractiveCode_0__Lean_Widget_Lean_Widget_InfoWithCtx_encodeUnsafe____x40_Lean_Widget_InteractiveCode___hyg_5____rarg___closed__1;
|
||||
lean_object* l_Lean_Widget_TaggedText_rewrite___rarg(lean_object*, lean_object*);
|
||||
|
|
@ -102,8 +101,8 @@ static lean_object* l_Lean_Widget_Lean_Widget_InfoWithCtx_instRpcEncodingWithRpc
|
|||
static lean_object* l_Lean_Widget_Lean_Widget_CodeToken_instFromJsonRpcEncodingPacket___closed__1;
|
||||
lean_object* l_Lean_Json_getObjValD(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Widget_InteractiveCode_0__Lean_Widget_Lean_Widget_CodeToken_toJsonRpcEncodingPacket____x40_Lean_Widget_InteractiveCode___hyg_213____boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Widget_traverse_go___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Std_RBNode_isRed___rarg(lean_object*);
|
||||
lean_object* l_Lean_Meta_withLetDecl___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_isPerm___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Widget_InteractiveCode_0__Lean_Widget_formatWithOpts(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_KVMap_empty;
|
||||
static lean_object* l_Lean_Widget_instInhabitedInfoWithCtx___closed__4;
|
||||
|
|
@ -136,7 +135,6 @@ lean_object* lean_nat_mod(lean_object*, lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_Widget_Lean_Widget_CodeToken_instRpcEncodingCodeTokenRpcEncodingPacket___lambda__3(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_RBNode_del___at_Lean_Widget_exprToInteractiveExplicit___spec__2___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Widget_InteractiveCode_0__Lean_Widget_Lean_Widget_InfoWithCtx_decodeUnsafe____x40_Lean_Widget_InteractiveCode___hyg_5_(lean_object*);
|
||||
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint32_t lean_uint32_of_nat(lean_object*);
|
||||
static lean_object* l_Lean_Widget_instInhabitedInfoWithCtx___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Widget_Lean_Widget_InfoWithCtx_instRpcEncodingWithRpcRefInfoWithCtxRpcRef___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -925,65 +923,6 @@ return x_1;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Widget_traverse_go___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10;
|
||||
x_10 = l___private_Lean_Meta_Basic_0__Lean_Meta_withLetDeclImp___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
|
||||
if (lean_obj_tag(x_10) == 0)
|
||||
{
|
||||
uint8_t x_11;
|
||||
x_11 = !lean_is_exclusive(x_10);
|
||||
if (x_11 == 0)
|
||||
{
|
||||
return x_10;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14;
|
||||
x_12 = lean_ctor_get(x_10, 0);
|
||||
x_13 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_dec(x_10);
|
||||
x_14 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_14, 0, x_12);
|
||||
lean_ctor_set(x_14, 1, x_13);
|
||||
return x_14;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_15;
|
||||
x_15 = !lean_is_exclusive(x_10);
|
||||
if (x_15 == 0)
|
||||
{
|
||||
return x_10;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
x_16 = lean_ctor_get(x_10, 0);
|
||||
x_17 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_17);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_10);
|
||||
x_18 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_18, 0, x_16);
|
||||
lean_ctor_set(x_18, 1, x_17);
|
||||
return x_18;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Widget_traverse_go___spec__1(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_Meta_withLetDecl___at_Lean_Widget_traverse_go___spec__1___rarg), 9, 0);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Widget_traverse_go___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -1070,7 +1009,7 @@ lean_dec(x_3);
|
|||
x_25 = lean_alloc_closure((void*)(l_Lean_Widget_traverse_go___lambda__1), 8, 2);
|
||||
lean_closure_set(x_25, 0, x_24);
|
||||
lean_closure_set(x_25, 1, x_12);
|
||||
x_26 = l_Lean_Meta_withLetDecl___at_Lean_Widget_traverse_go___spec__1___rarg(x_21, x_22, x_23, x_25, x_4, x_5, x_6, x_7, x_8);
|
||||
x_26 = l_Lean_Meta_withLetDecl___at___private_Lean_Meta_Tactic_Simp_SimpTheorems_0__Lean_Meta_isPerm___spec__1___rarg(x_21, x_22, x_23, x_25, x_4, x_5, x_6, x_7, x_8);
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue