summaryrefslogtreecommitdiff
path: root/test/golden/replace
diff options
context:
space:
mode:
Diffstat (limited to 'test/golden/replace')
-rw-r--r--test/golden/replace/encoding tasks.golden17
-rw-r--r--test/golden/replace/generating tasks.golden1378
-rw-r--r--test/golden/replace/glossing.golden350
-rw-r--r--test/golden/replace/parsing.golden304
-rw-r--r--test/golden/replace/scanning.golden21
-rw-r--r--test/golden/replace/tokenizing.golden129
-rw-r--r--test/golden/replace/verification.golden1
7 files changed, 2200 insertions, 0 deletions
diff --git a/test/golden/replace/encoding tasks.golden b/test/golden/replace/encoding tasks.golden
new file mode 100644
index 0000000..a939ff9
--- /dev/null
+++ b/test/golden/replace/encoding tasks.golden
@@ -0,0 +1,17 @@
+fof(pair_emptyset_in_times_unit,conjecture,elem(pair(emptyset,emptyset),times(unit,unit))).
+fof(unit,axiom,![Xany]:(elem(Xany,unit)<=>(elem(Xany,emptyset)|Xany=emptyset))).
+fof(times,axiom,![XA,XB]:![Xfrv]:(elem(Xfrv,times(XA,XB))<=>?[Xa,Xb]:(elem(Xa,XA)&elem(Xb,XB)&pair(Xa,Xb)=Xfrv))).
+fof(cons,axiom,![Xx,Xy,XX]:(elem(Xx,cons(Xy,XX))<=>(Xx=Xy|elem(Xx,XX)))).
+------------------
+fof(suc,conjecture,![X0]:(elem(X0,fa)=>![X1,X2]:((X1=cons(X0,emptyset)&X2=cons(X0,emptyset))=>X1=X2))).
+fof(pair_emptyset_in_times_unit,axiom,elem(pair(emptyset,emptyset),times(unit,unit))).
+fof(unit,axiom,![Xany]:(elem(Xany,unit)<=>(elem(Xany,emptyset)|Xany=emptyset))).
+fof(times,axiom,![XA,XB]:![Xfrv]:(elem(Xfrv,times(XA,XB))<=>?[Xa,Xb]:(elem(Xa,XA)&elem(Xb,XB)&pair(Xa,Xb)=Xfrv))).
+fof(cons,axiom,![Xx,Xy,XX]:(elem(Xx,cons(Xy,XX))<=>(Xx=Xy|elem(Xx,XX)))).
+------------------
+fof(times_replacement_test,conjecture,![Xfrv]:(elem(Xfrv,times(fA,fB))<=>?[Xa,Xb]:(elem(Xa,fA)&elem(Xb,fB)&pair(Xa,Xb)=Xfrv))).
+fof(suc,axiom,![X1,Xa]:(elem(X1,suc(Xa))<=>?[X0]:(elem(X0,Xa)&X1=cons(X0,emptyset)))).
+fof(pair_emptyset_in_times_unit,axiom,elem(pair(emptyset,emptyset),times(unit,unit))).
+fof(unit,axiom,![Xany]:(elem(Xany,unit)<=>(elem(Xany,emptyset)|Xany=emptyset))).
+fof(times,axiom,![XA,XB]:![Xfrv]:(elem(Xfrv,times(XA,XB))<=>?[Xa,Xb]:(elem(Xa,XA)&elem(Xb,XB)&pair(Xa,Xb)=Xfrv))).
+fof(cons,axiom,![Xx,Xy,XX]:(elem(Xx,cons(Xy,XX))<=>(Xx=Xy|elem(Xx,XX)))). \ No newline at end of file
diff --git a/test/golden/replace/generating tasks.golden b/test/golden/replace/generating tasks.golden
new file mode 100644
index 0000000..2d8fc5d
--- /dev/null
+++ b/test/golden/replace/generating tasks.golden
@@ -0,0 +1,1378 @@
+[ Task
+ { taskDirectness = Direct
+ , taskHypotheses =
+ [
+ ( Marker "unit"
+ , Quantified Universally
+ ( Scope
+ ( Connected Equivalence
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "any" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "unit" )
+ ]
+ ) []
+ ]
+ )
+ ( Connected Disjunction
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "any" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "any" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ )
+ )
+ )
+ )
+ )
+ ,
+ ( Marker "times"
+ , Quantified Universally
+ ( Scope
+ ( Quantified Universally
+ ( Scope
+ ( Connected Equivalence
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "frv" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Nothing
+ , Just
+ ( Command "times" )
+ , Nothing
+ ]
+ )
+ [ TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "A" )
+ )
+ )
+ )
+ , TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "B" )
+ )
+ )
+ )
+ ]
+ ]
+ )
+ ( Quantified Existentially
+ ( Scope
+ ( Connected Conjunction
+ ( Connected Conjunction
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "a" )
+ )
+ , TermVar
+ ( F
+ ( TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "A" )
+ )
+ )
+ )
+ )
+ )
+ ]
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "b" )
+ )
+ , TermVar
+ ( F
+ ( TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "B" )
+ )
+ )
+ )
+ )
+ )
+ ]
+ )
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "pair" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "a" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "b" )
+ )
+ ]
+ , TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "frv" )
+ )
+ )
+ )
+ ]
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ ,
+ ( Marker "cons"
+ , Quantified Universally
+ ( Scope
+ ( Connected Equivalence
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "x" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "cons" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "y" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "X" )
+ )
+ ]
+ ]
+ )
+ ( Connected Disjunction
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "x" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "y" )
+ )
+ ]
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "x" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "X" )
+ )
+ ]
+ )
+ )
+ )
+ )
+ )
+ ]
+ , taskConjectureLabel = Marker "pair_emptyset_in_times_unit"
+ , taskConjecture = TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "pair" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ , TermSymbol
+ ( SymbolMixfix
+ [ Nothing
+ , Just
+ ( Command "times" )
+ , Nothing
+ ]
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "unit" )
+ ]
+ ) []
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "unit" )
+ ]
+ ) []
+ ]
+ ]
+ }
+, Task
+ { taskDirectness = Direct
+ , taskHypotheses =
+ [
+ ( Marker "pair_emptyset_in_times_unit"
+ , TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "pair" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ , TermSymbol
+ ( SymbolMixfix
+ [ Nothing
+ , Just
+ ( Command "times" )
+ , Nothing
+ ]
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "unit" )
+ ]
+ ) []
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "unit" )
+ ]
+ ) []
+ ]
+ ]
+ )
+ ,
+ ( Marker "unit"
+ , Quantified Universally
+ ( Scope
+ ( Connected Equivalence
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "any" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "unit" )
+ ]
+ ) []
+ ]
+ )
+ ( Connected Disjunction
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "any" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "any" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ )
+ )
+ )
+ )
+ )
+ ,
+ ( Marker "times"
+ , Quantified Universally
+ ( Scope
+ ( Quantified Universally
+ ( Scope
+ ( Connected Equivalence
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "frv" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Nothing
+ , Just
+ ( Command "times" )
+ , Nothing
+ ]
+ )
+ [ TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "A" )
+ )
+ )
+ )
+ , TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "B" )
+ )
+ )
+ )
+ ]
+ ]
+ )
+ ( Quantified Existentially
+ ( Scope
+ ( Connected Conjunction
+ ( Connected Conjunction
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "a" )
+ )
+ , TermVar
+ ( F
+ ( TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "A" )
+ )
+ )
+ )
+ )
+ )
+ ]
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "b" )
+ )
+ , TermVar
+ ( F
+ ( TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "B" )
+ )
+ )
+ )
+ )
+ )
+ ]
+ )
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "pair" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "a" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "b" )
+ )
+ ]
+ , TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "frv" )
+ )
+ )
+ )
+ ]
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ ,
+ ( Marker "cons"
+ , Quantified Universally
+ ( Scope
+ ( Connected Equivalence
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "x" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "cons" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "y" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "X" )
+ )
+ ]
+ ]
+ )
+ ( Connected Disjunction
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "x" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "y" )
+ )
+ ]
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "x" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "X" )
+ )
+ ]
+ )
+ )
+ )
+ )
+ )
+ ]
+ , taskConjectureLabel = Marker "suc"
+ , taskConjecture = Quantified Universally
+ ( Scope
+ ( Connected Implication
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( FreshVar 0 )
+ )
+ , TermVar
+ ( F
+ ( TermVar
+ ( NamedVar "a" )
+ )
+ )
+ ]
+ )
+ ( Quantified Universally
+ ( Scope
+ ( Connected Implication
+ ( Connected Conjunction
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( FreshVar 1 )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "cons" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( FreshVar 0 )
+ )
+ )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ ]
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( FreshVar 2 )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "cons" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( FreshVar 0 )
+ )
+ )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ ]
+ )
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( FreshVar 1 )
+ )
+ , TermVar
+ ( B
+ ( FreshVar 2 )
+ )
+ ]
+ )
+ )
+ )
+ )
+ )
+ )
+ }
+, Task
+ { taskDirectness = Direct
+ , taskHypotheses =
+ [
+ ( Marker "suc"
+ , Quantified Universally
+ ( Scope
+ ( Connected Equivalence
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( FreshVar 1 )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "suc" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "a" )
+ )
+ ]
+ ]
+ )
+ ( Quantified Existentially
+ ( Scope
+ ( Connected Conjunction
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( FreshVar 0 )
+ )
+ , TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "a" )
+ )
+ )
+ )
+ ]
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( FreshVar 1 )
+ )
+ )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "cons" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar
+ ( B
+ ( FreshVar 0 )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ ]
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ ,
+ ( Marker "pair_emptyset_in_times_unit"
+ , TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "pair" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ , TermSymbol
+ ( SymbolMixfix
+ [ Nothing
+ , Just
+ ( Command "times" )
+ , Nothing
+ ]
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "unit" )
+ ]
+ ) []
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "unit" )
+ ]
+ ) []
+ ]
+ ]
+ )
+ ,
+ ( Marker "unit"
+ , Quantified Universally
+ ( Scope
+ ( Connected Equivalence
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "any" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "unit" )
+ ]
+ ) []
+ ]
+ )
+ ( Connected Disjunction
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "any" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "any" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ )
+ )
+ )
+ )
+ )
+ ,
+ ( Marker "times"
+ , Quantified Universally
+ ( Scope
+ ( Quantified Universally
+ ( Scope
+ ( Connected Equivalence
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "frv" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Nothing
+ , Just
+ ( Command "times" )
+ , Nothing
+ ]
+ )
+ [ TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "A" )
+ )
+ )
+ )
+ , TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "B" )
+ )
+ )
+ )
+ ]
+ ]
+ )
+ ( Quantified Existentially
+ ( Scope
+ ( Connected Conjunction
+ ( Connected Conjunction
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "a" )
+ )
+ , TermVar
+ ( F
+ ( TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "A" )
+ )
+ )
+ )
+ )
+ )
+ ]
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "b" )
+ )
+ , TermVar
+ ( F
+ ( TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "B" )
+ )
+ )
+ )
+ )
+ )
+ ]
+ )
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "pair" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "a" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "b" )
+ )
+ ]
+ , TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "frv" )
+ )
+ )
+ )
+ ]
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ ,
+ ( Marker "cons"
+ , Quantified Universally
+ ( Scope
+ ( Connected Equivalence
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "x" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "cons" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "y" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "X" )
+ )
+ ]
+ ]
+ )
+ ( Connected Disjunction
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "x" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "y" )
+ )
+ ]
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "x" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "X" )
+ )
+ ]
+ )
+ )
+ )
+ )
+ )
+ ]
+ , taskConjectureLabel = Marker "times_replacement_test"
+ , taskConjecture = Quantified Universally
+ ( Scope
+ ( Connected Equivalence
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "frv" )
+ )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Nothing
+ , Just
+ ( Command "times" )
+ , Nothing
+ ]
+ )
+ [ TermVar
+ ( F
+ ( TermVar
+ ( NamedVar "A" )
+ )
+ )
+ , TermVar
+ ( F
+ ( TermVar
+ ( NamedVar "B" )
+ )
+ )
+ ]
+ ]
+ )
+ ( Quantified Existentially
+ ( Scope
+ ( Connected Conjunction
+ ( Connected Conjunction
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "a" )
+ )
+ , TermVar
+ ( F
+ ( TermVar
+ ( F
+ ( TermVar
+ ( NamedVar "A" )
+ )
+ )
+ )
+ )
+ ]
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "b" )
+ )
+ , TermVar
+ ( F
+ ( TermVar
+ ( F
+ ( TermVar
+ ( NamedVar "B" )
+ )
+ )
+ )
+ )
+ ]
+ )
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "pair" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "a" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "b" )
+ )
+ ]
+ , TermVar
+ ( F
+ ( TermVar
+ ( B
+ ( NamedVar "frv" )
+ )
+ )
+ )
+ ]
+ )
+ )
+ )
+ )
+ )
+ )
+ }
+] \ No newline at end of file
diff --git a/test/golden/replace/glossing.golden b/test/golden/replace/glossing.golden
new file mode 100644
index 0000000..d6219fe
--- /dev/null
+++ b/test/golden/replace/glossing.golden
@@ -0,0 +1,350 @@
+[ BlockAxiom
+ ( SourcePos
+ { sourceName = "test/examples/replace.tex"
+ , sourceLine = Pos 1
+ , sourceColumn = Pos 1
+ }
+ )
+ ( Marker "cons" )
+ ( Axiom []
+ ( Connected Equivalence
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( NamedVar "x" )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "cons" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar
+ ( NamedVar "y" )
+ , TermVar
+ ( NamedVar "X" )
+ ]
+ ]
+ )
+ ( Connected Disjunction
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermVar
+ ( NamedVar "x" )
+ , TermVar
+ ( NamedVar "y" )
+ ]
+ )
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermVar
+ ( NamedVar "x" )
+ , TermVar
+ ( NamedVar "X" )
+ ]
+ )
+ )
+ )
+ )
+, BlockDefn
+ ( SourcePos
+ { sourceName = "test/examples/replace.tex"
+ , sourceLine = Pos 5
+ , sourceColumn = Pos 1
+ }
+ )
+ ( Marker "times" )
+ ( DefnOp
+ [ Nothing
+ , Just
+ ( Command "times" )
+ , Nothing
+ ]
+ [ NamedVar "A"
+ , NamedVar "B"
+ ]
+ ( ReplaceFun
+ (
+ ( NamedVar "a"
+ , TermVar
+ ( NamedVar "A" )
+ ) :|
+ [
+ ( NamedVar "b"
+ , TermVar
+ ( NamedVar "B" )
+ )
+ ]
+ )
+ ( Scope
+ ( TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "pair" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "a" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "b" )
+ )
+ ]
+ )
+ )
+ ( Scope ( PropositionalConstant IsTop ) )
+ )
+ )
+, BlockDefn
+ ( SourcePos
+ { sourceName = "test/examples/replace.tex"
+ , sourceLine = Pos 9
+ , sourceColumn = Pos 1
+ }
+ )
+ ( Marker "unit" )
+ ( DefnOp
+ [ Just
+ ( Command "unit" )
+ ] []
+ ( TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "cons" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ )
+ )
+, BlockLemma
+ ( SourcePos
+ { sourceName = "test/examples/replace.tex"
+ , sourceLine = Pos 13
+ , sourceColumn = Pos 1
+ }
+ )
+ ( Marker "pair_emptyset_in_times_unit" )
+ ( Lemma []
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Command "in" )
+ )
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "pair" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ , TermSymbol
+ ( SymbolMixfix
+ [ Nothing
+ , Just
+ ( Command "times" )
+ , Nothing
+ ]
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "unit" )
+ ]
+ ) []
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "unit" )
+ ]
+ ) []
+ ]
+ ]
+ )
+ )
+, BlockDefn
+ ( SourcePos
+ { sourceName = "test/examples/replace.tex"
+ , sourceLine = Pos 19
+ , sourceColumn = Pos 1
+ }
+ )
+ ( Marker "suc" )
+ ( DefnOp
+ [ Just
+ ( Command "suc" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ [ NamedVar "a" ]
+ ( ReplacePred
+ ( NamedVar "y" )
+ ( NamedVar "x" )
+ ( TermVar
+ ( NamedVar "a" )
+ )
+ ( Scope
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermVar ( B ReplacementRangeVar )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "cons" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar ( B ReplacementDomVar )
+ , TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "emptyset" )
+ ]
+ ) []
+ ]
+ ]
+ )
+ )
+ )
+ )
+, BlockLemma
+ ( SourcePos
+ { sourceName = "test/examples/replace.tex"
+ , sourceLine = Pos 25
+ , sourceColumn = Pos 1
+ }
+ )
+ ( Marker "times_replacement_test" )
+ ( Lemma []
+ ( TermSymbol
+ ( SymbolPredicate
+ ( PredicateRelation
+ ( Symbol "=" )
+ )
+ )
+ [ TermSymbol
+ ( SymbolMixfix
+ [ Nothing
+ , Just
+ ( Command "times" )
+ , Nothing
+ ]
+ )
+ [ TermVar
+ ( NamedVar "A" )
+ , TermVar
+ ( NamedVar "B" )
+ ]
+ , ReplaceFun
+ (
+ ( NamedVar "a"
+ , TermVar
+ ( NamedVar "A" )
+ ) :|
+ [
+ ( NamedVar "b"
+ , TermVar
+ ( NamedVar "B" )
+ )
+ ]
+ )
+ ( Scope
+ ( TermSymbol
+ ( SymbolMixfix
+ [ Just
+ ( Command "pair" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ )
+ [ TermVar
+ ( B
+ ( NamedVar "a" )
+ )
+ , TermVar
+ ( B
+ ( NamedVar "b" )
+ )
+ ]
+ )
+ )
+ ( Scope ( PropositionalConstant IsTop ) )
+ ]
+ )
+ )
+] \ No newline at end of file
diff --git a/test/golden/replace/parsing.golden b/test/golden/replace/parsing.golden
new file mode 100644
index 0000000..c2cd815
--- /dev/null
+++ b/test/golden/replace/parsing.golden
@@ -0,0 +1,304 @@
+[ BlockAxiom
+ ( SourcePos
+ { sourceName = "test/examples/replace.tex"
+ , sourceLine = Pos 1
+ , sourceColumn = Pos 1
+ }
+ )
+ ( Marker "cons" )
+ ( Axiom []
+ ( StmtConnected Equivalence
+ ( StmtFormula
+ ( FormulaChain
+ ( ChainBase
+ ( ExprVar
+ ( NamedVar "x" ) :| []
+ ) Positive
+ ( RelationSymbol
+ ( Command "in" )
+ )
+ ( ExprOp
+ [ Just
+ ( Command "cons" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ [ ExprVar
+ ( NamedVar "y" )
+ , ExprVar
+ ( NamedVar "X" )
+ ] :| []
+ )
+ )
+ )
+ )
+ ( StmtConnected Disjunction
+ ( StmtFormula
+ ( FormulaChain
+ ( ChainBase
+ ( ExprVar
+ ( NamedVar "x" ) :| []
+ ) Positive
+ ( RelationSymbol
+ ( Symbol "=" )
+ )
+ ( ExprVar
+ ( NamedVar "y" ) :| []
+ )
+ )
+ )
+ )
+ ( StmtFormula
+ ( FormulaChain
+ ( ChainBase
+ ( ExprVar
+ ( NamedVar "x" ) :| []
+ ) Positive
+ ( RelationSymbol
+ ( Command "in" )
+ )
+ ( ExprVar
+ ( NamedVar "X" ) :| []
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+, BlockDefn
+ ( SourcePos
+ { sourceName = "test/examples/replace.tex"
+ , sourceLine = Pos 5
+ , sourceColumn = Pos 1
+ }
+ )
+ ( Marker "times" )
+ ( DefnOp
+ ( SymbolPattern
+ [ Nothing
+ , Just
+ ( Command "times" )
+ , Nothing
+ ]
+ [ NamedVar "A"
+ , NamedVar "B"
+ ]
+ )
+ ( ExprReplace
+ ( ExprOp
+ [ Just
+ ( Command "pair" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ [ ExprVar
+ ( NamedVar "a" )
+ , ExprVar
+ ( NamedVar "b" )
+ ]
+ )
+ (
+ ( NamedVar "a"
+ , ExprVar
+ ( NamedVar "A" )
+ ) :|
+ [
+ ( NamedVar "b"
+ , ExprVar
+ ( NamedVar "B" )
+ )
+ ]
+ ) Nothing
+ )
+ )
+, BlockDefn
+ ( SourcePos
+ { sourceName = "test/examples/replace.tex"
+ , sourceLine = Pos 9
+ , sourceColumn = Pos 1
+ }
+ )
+ ( Marker "unit" )
+ ( DefnOp
+ ( SymbolPattern
+ [ Just
+ ( Command "unit" )
+ ] []
+ )
+ ( ExprFiniteSet
+ ( ExprOp
+ [ Just
+ ( Command "emptyset" )
+ ] [] :| []
+ )
+ )
+ )
+, BlockLemma
+ ( SourcePos
+ { sourceName = "test/examples/replace.tex"
+ , sourceLine = Pos 13
+ , sourceColumn = Pos 1
+ }
+ )
+ ( Marker "pair_emptyset_in_times_unit" )
+ ( Lemma []
+ ( StmtFormula
+ ( FormulaChain
+ ( ChainBase
+ ( ExprOp
+ [ Just
+ ( Command "pair" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ [ ExprOp
+ [ Just
+ ( Command "emptyset" )
+ ] []
+ , ExprOp
+ [ Just
+ ( Command "emptyset" )
+ ] []
+ ] :| []
+ ) Positive
+ ( RelationSymbol
+ ( Command "in" )
+ )
+ ( ExprOp
+ [ Nothing
+ , Just
+ ( Command "times" )
+ , Nothing
+ ]
+ [ ExprOp
+ [ Just
+ ( Command "unit" )
+ ] []
+ , ExprOp
+ [ Just
+ ( Command "unit" )
+ ] []
+ ] :| []
+ )
+ )
+ )
+ )
+ )
+, BlockDefn
+ ( SourcePos
+ { sourceName = "test/examples/replace.tex"
+ , sourceLine = Pos 19
+ , sourceColumn = Pos 1
+ }
+ )
+ ( Marker "suc" )
+ ( DefnOp
+ ( SymbolPattern
+ [ Just
+ ( Command "suc" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ [ NamedVar "a" ]
+ )
+ ( ExprReplacePred
+ ( NamedVar "y" )
+ ( NamedVar "x" )
+ ( ExprVar
+ ( NamedVar "a" )
+ )
+ ( StmtFormula
+ ( FormulaChain
+ ( ChainBase
+ ( ExprVar
+ ( NamedVar "y" ) :| []
+ ) Positive
+ ( RelationSymbol
+ ( Symbol "=" )
+ )
+ ( ExprFiniteSet
+ ( ExprVar
+ ( NamedVar "x" ) :| []
+ ) :| []
+ )
+ )
+ )
+ )
+ )
+ )
+, BlockLemma
+ ( SourcePos
+ { sourceName = "test/examples/replace.tex"
+ , sourceLine = Pos 25
+ , sourceColumn = Pos 1
+ }
+ )
+ ( Marker "times_replacement_test" )
+ ( Lemma []
+ ( StmtFormula
+ ( FormulaChain
+ ( ChainBase
+ ( ExprOp
+ [ Nothing
+ , Just
+ ( Command "times" )
+ , Nothing
+ ]
+ [ ExprVar
+ ( NamedVar "A" )
+ , ExprVar
+ ( NamedVar "B" )
+ ] :| []
+ ) Positive
+ ( RelationSymbol
+ ( Symbol "=" )
+ )
+ ( ExprReplace
+ ( ExprOp
+ [ Just
+ ( Command "pair" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ [ ExprVar
+ ( NamedVar "a" )
+ , ExprVar
+ ( NamedVar "b" )
+ ]
+ )
+ (
+ ( NamedVar "a"
+ , ExprVar
+ ( NamedVar "A" )
+ ) :|
+ [
+ ( NamedVar "b"
+ , ExprVar
+ ( NamedVar "B" )
+ )
+ ]
+ ) Nothing :| []
+ )
+ )
+ )
+ )
+ )
+] \ No newline at end of file
diff --git a/test/golden/replace/scanning.golden b/test/golden/replace/scanning.golden
new file mode 100644
index 0000000..050e544
--- /dev/null
+++ b/test/golden/replace/scanning.golden
@@ -0,0 +1,21 @@
+[ ScanFunctionSymbol
+ [ Nothing
+ , Just
+ ( Command "times" )
+ , Nothing
+ ]
+ ( Marker "times" )
+, ScanFunctionSymbol
+ [ Just
+ ( Command "unit" )
+ ]
+ ( Marker "unit" )
+, ScanFunctionSymbol
+ [ Just
+ ( Command "suc" )
+ , Just InvisibleBraceL
+ , Nothing
+ , Just InvisibleBraceR
+ ]
+ ( Marker "suc" )
+] \ No newline at end of file
diff --git a/test/golden/replace/tokenizing.golden b/test/golden/replace/tokenizing.golden
new file mode 100644
index 0000000..3b9f65c
--- /dev/null
+++ b/test/golden/replace/tokenizing.golden
@@ -0,0 +1,129 @@
+[ BeginEnv "axiom"
+, Label "cons"
+, BeginEnv "math"
+, Variable "x"
+, Command "in"
+, Command "cons"
+, InvisibleBraceL
+, Variable "y"
+, InvisibleBraceR
+, InvisibleBraceL
+, Variable "X"
+, InvisibleBraceR
+, EndEnv "math"
+, Word "iff"
+, BeginEnv "math"
+, Variable "x"
+, Symbol "="
+, Variable "y"
+, EndEnv "math"
+, Word "or"
+, BeginEnv "math"
+, Variable "x"
+, Command "in"
+, Variable "X"
+, EndEnv "math"
+, Symbol "."
+, EndEnv "axiom"
+, BeginEnv "definition"
+, Label "times"
+, BeginEnv "math"
+, Variable "A"
+, Command "times"
+, Variable "B"
+, Symbol "="
+, VisibleBraceL
+, ParenL
+, Variable "a"
+, Symbol ","
+, Variable "b"
+, ParenR
+, Command "mid"
+, Variable "a"
+, Command "in"
+, Variable "A"
+, Symbol ","
+, Variable "b"
+, Command "in"
+, Variable "B"
+, VisibleBraceR
+, EndEnv "math"
+, Symbol "."
+, EndEnv "definition"
+, BeginEnv "definition"
+, Label "unit"
+, BeginEnv "math"
+, Command "unit"
+, Symbol "="
+, VisibleBraceL
+, Command "emptyset"
+, VisibleBraceR
+, EndEnv "math"
+, Symbol "."
+, EndEnv "definition"
+, BeginEnv "proposition"
+, Label "pair_emptyset_in_times_unit"
+, BeginEnv "math"
+, ParenL
+, Command "emptyset"
+, Symbol ","
+, Command "emptyset"
+, ParenR
+, Command "in"
+, Command "unit"
+, Command "times"
+, Command "unit"
+, EndEnv "math"
+, Symbol "."
+, EndEnv "proposition"
+, BeginEnv "definition"
+, Label "suc"
+, BeginEnv "math"
+, Command "suc"
+, InvisibleBraceL
+, Variable "a"
+, InvisibleBraceR
+, Symbol "="
+, VisibleBraceL
+, Variable "y"
+, Command "mid"
+, Command "exists"
+, Variable "x"
+, Command "in"
+, Variable "a"
+, Symbol "."
+, Variable "y"
+, Symbol "="
+, VisibleBraceL
+, Variable "x"
+, VisibleBraceR
+, VisibleBraceR
+, EndEnv "math"
+, Symbol "."
+, EndEnv "definition"
+, BeginEnv "proposition"
+, Label "times_replacement_test"
+, BeginEnv "math"
+, Variable "A"
+, Command "times"
+, Variable "B"
+, Symbol "="
+, VisibleBraceL
+, ParenL
+, Variable "a"
+, Symbol ","
+, Variable "b"
+, ParenR
+, Command "mid"
+, Variable "a"
+, Command "in"
+, Variable "A"
+, Symbol ","
+, Variable "b"
+, Command "in"
+, Variable "B"
+, VisibleBraceR
+, EndEnv "math"
+, Symbol "."
+, EndEnv "proposition"
+] \ No newline at end of file
diff --git a/test/golden/replace/verification.golden b/test/golden/replace/verification.golden
new file mode 100644
index 0000000..69b9873
--- /dev/null
+++ b/test/golden/replace/verification.golden
@@ -0,0 +1 @@
+VerificationSuccess \ No newline at end of file