diff --git a/Pantograph/Serial.lean b/Pantograph/Serial.lean index 950818e..26b0c9f 100644 --- a/Pantograph/Serial.lean +++ b/Pantograph/Serial.lean @@ -102,9 +102,12 @@ partial def serializeExpressionSexp (expr: Expr) (sanitize: Bool := true): MetaM | .fvar fvarId => let name := ofName fvarId.name pure s!"(:fv {name})" - | .mvar mvarId => - let name := ofName mvarId.name - pure s!"(:mv {name})" + | .mvar mvarId => do + if ← mvarId.isDelayedAssigned then + pure s!"(:mv)" + else + let name := ofName mvarId.name + pure s!"(:mv {name})" | .sort level => let level := serializeSortLevel level sanitize pure s!"(:sort {level})" diff --git a/Test/Proofs.lean b/Test/Proofs.lean index 429d4d2..8e77227 100644 --- a/Test/Proofs.lean +++ b/Test/Proofs.lean @@ -245,7 +245,7 @@ def test_or_comm: TestM Unit := do let state2parent ← serializeExpressionSexp state2.parentExpr?.get! (sanitize := false) -- This is due to delayed assignment addTest $ LSpec.test "(2 parent)" (state2parent == - "((:mv _uniq.43) (:fv _uniq.16) ((:c Eq.refl) ((:c Or) (:fv _uniq.10) (:fv _uniq.13)) (:fv _uniq.16)))") + "((:mv) (:fv _uniq.16) ((:c Eq.refl) ((:c Or) (:fv _uniq.10) (:fv _uniq.13)) (:fv _uniq.16)))") let state3_1 ← match ← state2.tryTactic (goalId := 0) (tactic := "apply Or.inr") with | .success state => pure state