Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Full Alive Translation #126

Merged
merged 12 commits into from
Nov 1, 2023
6 changes: 5 additions & 1 deletion SSA/Core/Util/ConcreteOrMVar.lean
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ inductive ConcreteOrMVar (α : Type u) (φ : Nat)
| mvar (i : Fin φ)
deriving DecidableEq, Repr, Inhabited

instance [ToString α] : ToString (ConcreteOrMVar α n) where
toString
| .concrete a => s!"concrete({a})"
| .mvar i => s!"mvar({i})"
/-- A coercion from the concrete type `α` to the `ConcreteOrMVar` -/
instance : Coe α (ConcreteOrMVar α φ) := ⟨.concrete⟩

Expand Down Expand Up @@ -42,4 +46,4 @@ def instantiate (as : Vector α φ) : ConcreteOrMVar α φ → α
| .mvar i => as.get i


end ConcreteOrMVar
end ConcreteOrMVar
7 changes: 5 additions & 2 deletions SSA/Projects/InstCombine/Alive.lean
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@

-- Auto generated alive statements
import SSA.Projects.InstCombine.AliveAutoGenerated
-- Do not import these into the default tree, because they take a long
-- time to elaborate and typecheck.
-- import SSA.Projects.InstCombine.AliveAutoGenerated

-- Pure math statements needed to proof alive statements
-- Pure math statements needed to prove alive statements.
-- Include these, as they are reasonably fast to typecheck.
import SSA.Projects.InstCombine.AliveStatements

-- The semantics for the MLIR base dialect
Expand Down
Loading