···1515 type t = t
1616 type subst = Map.t<schematic, t>
1717 type AtomDef.atomTag<_> += Tag: AtomDef.atomTag<t>
1818- let tagEq = (type a, tag: AtomDef.atomTag<a>): option<AtomDef.eq<t, a>> =>
1919- switch tag {
2020- | Tag => Some(Refl)
2121- | _ => None
2222- }
2318 let substitute = (term: t, subst: subst) =>
2419 Array.flatMap(term, piece => {
2520 switch piece {
-5
src/Symbolic.res
···44 type t = string
55 type subst = Map.t<int, string>
66 type atomTag<_> += Tag: atomTag<t>
77- let tagEq = (type a, tag: atomTag<a>): option<eq<t, a>> =>
88- switch tag {
99- | Tag => Some(Refl)
1010- | _ => None
1111- }
127 let unify = (a, b, ~gen as _=?) =>
138 if a == b {
149 Seq.once(Map.make())