···752752}
753753754754let ghostTerm = Unallowed
755755-let unifiesWithAnything = t =>
755755+let concrete = t =>
756756 switch t {
757757 | Schematic(_) => true
758758 | _ => false
+1-1
src/Method.res
···147147 ->Array.filterMap(((key, rule)) => {
148148 let insts = rule->Rule.genSchemaInsts(gen, ~scope=ctx.fixes)
149149 let res = rule->Rule.instantiate(insts)
150150- if !Judgment.unifiesWithAnything(res.conclusion) {
150150+ if !Judgment.concrete(res.conclusion) {
151151 Some((key, res, insts))
152152 } else {
153153 None
+1-1
src/SExp.res
···1919 let lowerSchematic = (_, _) => None
2020 let ghost = ""
2121 let substDeBruijn = (name, _, ~from as _=?, ~to as _) => name
2222- let unifiesWithAnything = _ => false
2222+ let concrete = _ => false
2323 let upshift = (t, _, ~from as _=?) => t
2424}
2525
+4-4
src/SExpFunc.res
···1111 let lowerSchematic: (int, array<int>) => option<t>
1212 let ghost: t
1313 let substDeBruijn: (t, Map.t<int, t>, ~from: int=?, ~to: int) => t
1414- let unifiesWithAnything: t => bool
1414+ let concrete: t => bool
1515}
16161717module IntCmp = Belt.Id.MakeComparable({
···431431 }
432432433433 let ghostTerm = Ghost
434434- let rec unifiesWithAnything = t =>
434434+ let rec concrete = t =>
435435 switch t {
436436 | Schematic(_) => true
437437- | Atom(s) => Atom.unifiesWithAnything(s)
438438- | Compound({subexps}) => subexps->Array.every(unifiesWithAnything)
437437+ | Atom(s) => Atom.concrete(s)
438438+ | Compound({subexps}) => subexps->Array.every(concrete)
439439 | _ => false
440440 }
441441 let mapTerms = (t, f) => f(t)
+3-2
src/Signatures.res
···2525 let prettyPrint: (t, ~scope: array<meta>) => string
2626 let prettyPrintMeta: meta => string
2727 let ghostTerm: t
2828- let unifiesWithAnything: t => bool
2828+ let concrete: t => bool
2929}
30303131module type JUDGMENT = {
···4242 let parse: (string, ~scope: array<Term.meta>, ~gen: Term.gen=?) => result<(t, string), string>
4343 let prettyPrint: (t, ~scope: array<Term.meta>) => string
4444 let ghostTerm: t
4545- let unifiesWithAnything: t => bool
4545+ // will unifying t with a term give meaningful substitutions?
4646+ let concrete: t => bool
4647}
47484849module type TERM_VIEW = {