occam-verify-cli 0.0.959 → 0.0.960

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/bin/action/verify.js +16 -5
  2. package/bin/utilities/releaseContext.js +5 -8
  3. package/lib/context/file.js +38 -14
  4. package/lib/context/release.js +82 -52
  5. package/lib/frame.js +3 -3
  6. package/lib/index.js +5 -5
  7. package/lib/metavariable.js +9 -9
  8. package/lib/proofStep.js +15 -15
  9. package/lib/releaseContext/create.js +8 -9
  10. package/lib/releaseContext/initialise.js +67 -0
  11. package/lib/rule.js +5 -5
  12. package/lib/substitution/statementForMetavariable.js +8 -8
  13. package/lib/substitution/termForVariable.js +6 -6
  14. package/lib/substitution.js +7 -7
  15. package/lib/substitutions.js +7 -7
  16. package/lib/topLevelAssertion.js +5 -5
  17. package/lib/unifier/equality.js +7 -7
  18. package/lib/unifier/intrinsicLevel.js +4 -4
  19. package/lib/unifier/metaLevel.js +10 -10
  20. package/lib/unifier/statementWithCombinator.js +147 -0
  21. package/lib/unifier/{termAgainstConstructor.js → termWithConstructor.js} +17 -17
  22. package/lib/unify/conclusionWithStatement.js +34 -0
  23. package/lib/unify/consequentWithStatement.js +34 -0
  24. package/lib/unify/metavariableWithStatement.js +74 -0
  25. package/lib/unify/premiseWithProofStep.js +41 -0
  26. package/lib/unify/premisesWithProofSteps.js +31 -0
  27. package/lib/unify/statementAtainstStatement.js +6 -6
  28. package/lib/unify/statementWithMetaType.js +48 -0
  29. package/lib/unify/suppositionWithProffStep.js +41 -0
  30. package/lib/unify/suppositionsWithProofSteps.js +31 -0
  31. package/lib/unify/termWithTerm.js +21 -0
  32. package/lib/unify/termWithType.js +32 -0
  33. package/lib/unify/variableWithTerm.js +54 -0
  34. package/lib/verify/error.js +2 -2
  35. package/lib/verify/judgement.js +3 -3
  36. package/lib/verify/metavariable.js +4 -4
  37. package/lib/verify/statement/qualified.js +51 -51
  38. package/lib/verify/statement.js +18 -18
  39. package/lib/verify/statementAsCombinator.js +2 -2
  40. package/lib/verify/term.js +25 -25
  41. package/package.json +1 -1
  42. package/src/context/file.js +42 -17
  43. package/src/context/release.js +84 -45
  44. package/src/frame.js +2 -2
  45. package/src/index.js +1 -1
  46. package/src/metavariable.js +6 -6
  47. package/src/proofStep.js +14 -14
  48. package/src/releaseContext/create.js +8 -16
  49. package/src/releaseContext/{verify.js → initialise.js} +32 -23
  50. package/src/rule.js +4 -4
  51. package/src/substitution/statementForMetavariable.js +7 -7
  52. package/src/substitution/termForVariable.js +4 -4
  53. package/src/substitution.js +5 -5
  54. package/src/substitutions.js +5 -5
  55. package/src/topLevelAssertion.js +4 -4
  56. package/src/unifier/equality.js +6 -6
  57. package/src/unifier/intrinsicLevel.js +3 -3
  58. package/src/unifier/metaLevel.js +9 -9
  59. package/src/unifier/{statementAgainstCombinator.js → statementWithCombinator.js} +12 -12
  60. package/src/unifier/{termAgainstConstructor.js → termWithConstructor.js} +9 -9
  61. package/src/unify/{conclusionAgainstStatement.js → conclusionWithStatement.js} +3 -3
  62. package/src/unify/{consequentAgainstStatement.js → consequentWithStatement.js} +3 -3
  63. package/src/unify/{metavariableAgainstStatement.js → metavariableWithStatement.js} +12 -12
  64. package/src/unify/{premiseAgainstProofStep.js → premiseWithProofStep.js} +5 -5
  65. package/src/unify/{premisesAgainstProofSteps.js → premisesWithProofSteps.js} +3 -3
  66. package/src/unify/statementAtainstStatement.js +4 -4
  67. package/src/unify/{statementAgainstMetaType.js → statementWithMetaType.js} +5 -5
  68. package/src/unify/{suppositionAgainstProofStep.js → suppositionWithProffStep.js} +5 -5
  69. package/src/unify/{suppositionsAgainstProofSteps.js → suppositionsWithProofSteps.js} +3 -3
  70. package/src/unify/{termAgainstTerm.js → termWithTerm.js} +4 -4
  71. package/src/unify/{termAgainstType.js → termWithType.js} +4 -4
  72. package/src/unify/{variableAgainstTerm.js → variableWithTerm.js} +5 -5
  73. package/src/verify/error.js +1 -1
  74. package/src/verify/judgement.js +3 -3
  75. package/src/verify/metavariable.js +3 -3
  76. package/src/verify/statement/qualified.js +50 -50
  77. package/src/verify/statement.js +17 -17
  78. package/src/verify/statementAsCombinator.js +1 -1
  79. package/src/verify/term.js +24 -24
  80. package/lib/releaseContext/verify.js +0 -66
  81. package/lib/unifier/statementAgainstCombinator.js +0 -147
  82. package/lib/unify/conclusionAgainstStatement.js +0 -34
  83. package/lib/unify/consequentAgainstStatement.js +0 -34
  84. package/lib/unify/metavariableAgainstStatement.js +0 -74
  85. package/lib/unify/premiseAgainstProofStep.js +0 -41
  86. package/lib/unify/premisesAgainstProofSteps.js +0 -31
  87. package/lib/unify/statementAgainstMetaType.js +0 -48
  88. package/lib/unify/suppositionAgainstProofStep.js +0 -41
  89. package/lib/unify/suppositionsAgainstProofSteps.js +0 -31
  90. package/lib/unify/termAgainstTerm.js +0 -21
  91. package/lib/unify/termAgainstType.js +0 -32
  92. package/lib/unify/variableAgainstTerm.js +0 -54
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  import LocalContext from "../context/local";
4
- import unifyPremiseAgainstProofStep from "../unify/premiseAgainstProofStep";
4
+ import unifyPremiseWithProofStep from "../unify/premiseWithProofStep";
5
5
 
6
6
  import { reverse, correlate } from "../utilities/array";
7
7
 
8
- export default function unifyPremisesAgainstProofSteps(premisesA, proofStepsB, substitutions, fileContextA, localContextB) {
8
+ export default function unifyPremisesWithProofSteps(premisesA, proofStepsB, substitutions, fileContextA, localContextB) {
9
9
  premisesA = reverse(premisesA); ///
10
10
 
11
11
  proofStepsB = reverse(proofStepsB); ///
12
12
 
13
13
  const premisesUnified = correlate(premisesA, proofStepsB, (premiseA, proofStepB) => {
14
14
  const localContextA = LocalContext.fromFileContext(fileContextA),
15
- premiseUnified = unifyPremiseAgainstProofStep(premiseA, proofStepB, substitutions, localContextA, localContextB);
15
+ premiseUnified = unifyPremiseWithProofStep(premiseA, proofStepB, substitutions, localContextA, localContextB);
16
16
 
17
17
  if (premiseUnified) {
18
18
  return true;
@@ -5,8 +5,8 @@ import TermForVariableSubstitution from "../substitution/termForVariable";
5
5
 
6
6
  import { push } from "../utilities/array";
7
7
 
8
- export default function unifyStatementAgainstStatement(statementNodeA, statementNodeB, substitution, substitutions, localContextA, localContextB) {
9
- let statementUnifiedAgainstStatement = false;
8
+ export default function unifyStatementWithStatement(statementNodeA, statementNodeB, substitution, substitutions, localContextA, localContextB) {
9
+ let statementUnifiedWithtatement = false;
10
10
 
11
11
  const termForVariableSubstitution = TermForVariableSubstitution.fromSubstitutionAndSubstitutions(substitution, substitutions),
12
12
  transformed = termForVariableSubstitution.isTransformed(substitution);
@@ -35,10 +35,10 @@ export default function unifyStatementAgainstStatement(statementNodeA, statement
35
35
  push(substitutions, substitutionsA);
36
36
  }
37
37
 
38
- statementUnifiedAgainstStatement = true;
38
+ statementUnifiedWithtatement = true;
39
39
  }
40
40
 
41
- return statementUnifiedAgainstStatement;
41
+ return statementUnifiedWithtatement;
42
42
  }
43
43
 
44
44
  function transformSubstitutions(substitutionsA, substitutionsB) {
@@ -8,8 +8,8 @@ import { FRAME_META_TYPE_NAME, STATEMENT_META_TYPE_NAME } from "../metaTypeNames
8
8
  const metavariableNodeQuery = nodeQuery("/statement/metavariable"),
9
9
  metaTypeTerminalNodeQuery = nodeQuery("/metaType/@meta-type!");
10
10
 
11
- export default function unifyStatementAgainstMetaType(statementNode, metaTypeNode, localContext) {
12
- let statementUnifiedAgainstMetaType = false;
11
+ export default function unifyStatementWithMetaType(statementNode, metaTypeNode, localContext) {
12
+ let statementUnifiedWithMetaType = false;
13
13
 
14
14
  const metaTypeTerminalNode = metaTypeTerminalNodeQuery(metaTypeNode),
15
15
  metaTypeTerminalNodeContent = metaTypeTerminalNode.getContent(),
@@ -26,7 +26,7 @@ export default function unifyStatementAgainstMetaType(statementNode, metaTypeNod
26
26
  const metavariableMetaTypeName = metavariable.getMetaTypeName();
27
27
 
28
28
  if (metavariableMetaTypeName === metaTypeName) {
29
- statementUnifiedAgainstMetaType = true;
29
+ statementUnifiedWithMetaType = true;
30
30
  }
31
31
  }
32
32
  }
@@ -40,11 +40,11 @@ export default function unifyStatementAgainstMetaType(statementNode, metaTypeNod
40
40
  assignments = [],
41
41
  statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
42
42
 
43
- statementUnifiedAgainstMetaType = statementVerified;
43
+ statementUnifiedWithMetaType = statementVerified;
44
44
 
45
45
  break;
46
46
  }
47
47
  }
48
48
 
49
- return statementUnifiedAgainstMetaType;
49
+ return statementUnifiedWithMetaType;
50
50
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { subproofNodeAsSubproofString } from "../utilities/unify";
4
4
 
5
- export default function unifySuppositionAgainstProofStep(suppositionA, proofStepB, substitutions, localContextA, localContextB) {
5
+ export default function unifySuppositionWithProofStep(suppositionA, proofStepB, substitutions, localContextA, localContextB) {
6
6
  let suppositionUnified = false;
7
7
 
8
8
  const suppositionAStatementNode = suppositionA.getStatementNode();
@@ -20,12 +20,12 @@ export default function unifySuppositionAgainstProofStep(suppositionA, proofStep
20
20
  if (subproofNodeB !== null) {
21
21
  const subproofStringB = subproofNodeAsSubproofString(subproofNodeB, localContextB);
22
22
 
23
- localContextB.trace(`Unifying the '${subproofStringB}' subproof against the supposition's '${statementStringA}' statement...`, subproofNodeB);
23
+ localContextB.trace(`Unifying the '${subproofStringB}' subproof with the supposition's '${statementStringA}' statement...`, subproofNodeB);
24
24
 
25
25
  const subproofUnified = suppositionA.unifySubproof(subproofNodeB, substitutions, localContextA, localContextB);
26
26
 
27
27
  if (subproofUnified) {
28
- localContextB.debug(`...unified the '${subproofStringB}' subproof against the supposition's '${statementStringA}' statement.`, subproofNodeB);
28
+ localContextB.debug(`...unified the '${subproofStringB}' subproof with the supposition's '${statementStringA}' statement.`, subproofNodeB);
29
29
 
30
30
  suppositionUnified = true;
31
31
  }
@@ -34,12 +34,12 @@ export default function unifySuppositionAgainstProofStep(suppositionA, proofStep
34
34
  if (statementNodeB !== null) {
35
35
  const statementStringB = localContextB.nodeAsString(statementNodeB);
36
36
 
37
- localContextB.trace(`Unifying the '${statementStringB}' statement against the supposition's '${statementStringA}' statement...`, statementNodeB);
37
+ localContextB.trace(`Unifying the '${statementStringB}' statement with the supposition's '${statementStringA}' statement...`, statementNodeB);
38
38
 
39
39
  const statementUnified = suppositionA.unifyStatement(statementNodeB, substitutions, localContextA, localContextB);
40
40
 
41
41
  if (statementUnified) {
42
- localContextB.debug(`...unified the '${statementStringB}' statement against the supposition's '${statementStringA}' statement.`, statementNodeB);
42
+ localContextB.debug(`...unified the '${statementStringB}' statement with the supposition's '${statementStringA}' statement.`, statementNodeB);
43
43
 
44
44
  suppositionUnified = true;
45
45
  }
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  import LocalContext from "../context/local";
4
- import unifySuppositionAgainstProofStep from "./suppositionAgainstProofStep";
4
+ import unifySuppositionWithProofStep from "./suppositionWithProffStep";
5
5
 
6
6
  import { reverse, correlate } from "../utilities/array";
7
7
 
8
- export default function unifySuppositionsAgainstProofSteps(suppositionsA, proofStepsB, substitutions, fileContextA, localContextB) {
8
+ export default function unifySuppositionsWithProofSteps(suppositionsA, proofStepsB, substitutions, fileContextA, localContextB) {
9
9
  suppositionsA = reverse(suppositionsA); ///
10
10
 
11
11
  proofStepsB = reverse(proofStepsB); ///
12
12
 
13
13
  const suppositionsUnified = correlate(suppositionsA, proofStepsB, (suppositionA, proofStepB) => {
14
14
  const localContextA = LocalContext.fromFileContext(fileContextA),
15
- suppositionUnified = unifySuppositionAgainstProofStep(suppositionA, proofStepB, substitutions, localContextA, localContextB);
15
+ suppositionUnified = unifySuppositionWithProofStep(suppositionA, proofStepB, substitutions, localContextA, localContextB);
16
16
 
17
17
  if (suppositionUnified) {
18
18
  return true;
@@ -2,15 +2,15 @@
2
2
 
3
3
  import { areTermNodesEqual } from "../utilities/equivalences";
4
4
 
5
- export default function unifyTermAgainstTerm(leftTermNode, rightTermNode, localContext) {
6
- let termUnifiedAgainstTerm = false;
5
+ export default function unifyTermWithTerm(leftTermNode, rightTermNode, localContext) {
6
+ let termUnifiedWithTerm = false;
7
7
 
8
8
  const equivalences = localContext.getEquivalences(),
9
9
  termNodesEqual = areTermNodesEqual(leftTermNode, rightTermNode, equivalences);
10
10
 
11
11
  if (termNodesEqual) {
12
- termUnifiedAgainstTerm = true;
12
+ termUnifiedWithTerm = true;
13
13
  }
14
14
 
15
- return termUnifiedAgainstTerm;
15
+ return termUnifiedWithTerm;
16
16
  }
@@ -4,8 +4,8 @@ import shim from "../shim";
4
4
 
5
5
  import { first } from "../utilities/array";
6
6
 
7
- export default function unifyTermAgainstType(termNode, typeNode, localContext) {
8
- let termUnifiedAgainstType;
7
+ export default function unifyTermWithType(termNode, typeNode, localContext) {
8
+ let termUnifiedWithType;
9
9
 
10
10
  const { verifyTerm } = shim,
11
11
  terms = [],
@@ -25,7 +25,7 @@ export default function unifyTermAgainstType(termNode, typeNode, localContext) {
25
25
  return verifiedAhead;
26
26
  });
27
27
 
28
- termUnifiedAgainstType = termVerified; ///
28
+ termUnifiedWithType = termVerified; ///
29
29
 
30
- return termUnifiedAgainstType;
30
+ return termUnifiedWithType;
31
31
  }
@@ -6,8 +6,8 @@ import { nodeQuery } from "../utilities/query";
6
6
 
7
7
  const variableNodeQuery = nodeQuery("/term/variable");
8
8
 
9
- export default function unifyVariableAgainstTerm(variableNodeA, termNodeB, substitutions, localContextA, localContextB) {
10
- let variableUnifiedAgainstTerm = false;
9
+ export default function unifyVariableWithTerm(variableNodeA, termNodeB, substitutions, localContextA, localContextB) {
10
+ let variableUnifiedWithTerm = false;
11
11
 
12
12
  const substitution = substitutions.findSubstitution((substitution) => {
13
13
  const substitutionMatchesVariableNodeA = substitution.matchVariableNode(variableNodeA);
@@ -21,7 +21,7 @@ export default function unifyVariableAgainstTerm(variableNodeA, termNodeB, subst
21
21
  const substitutionMatchesTermNodeB = substitution.matchTermNode(termNodeB);
22
22
 
23
23
  if (substitutionMatchesTermNodeB) {
24
- variableUnifiedAgainstTerm = true;
24
+ variableUnifiedWithTerm = true;
25
25
  }
26
26
  } else {
27
27
  const variableA = localContextA.findVariableByVariableNode(variableNodeA);
@@ -38,11 +38,11 @@ export default function unifyVariableAgainstTerm(variableNodeA, termNodeB, subst
38
38
  substitutions.addSubstitution(substitution, localContextA, localContextB);
39
39
  }
40
40
 
41
- variableUnifiedAgainstTerm = true;
41
+ variableUnifiedWithTerm = true;
42
42
  }
43
43
  }
44
44
 
45
- return variableUnifiedAgainstTerm;
45
+ return variableUnifiedWithTerm;
46
46
  }
47
47
 
48
48
  function variableFromTermNode(termNode, localContext) {
@@ -5,7 +5,7 @@ export default function verifyError(errorNode, fileContext) {
5
5
 
6
6
  const errorString = fileContext.nodeAsString(errorNode)
7
7
 
8
- fileContext.debug(`The '${errorString}' cannot be verified.`, errorNode);
8
+ fileContext.debug(`The '${errorString}' error cannot be verified.`, errorNode);
9
9
 
10
10
  return errorVerified;
11
11
  }
@@ -70,10 +70,10 @@ function verifyDerivedJudgement(judgementNode, assignments, derived, localContex
70
70
  metaLemmaMetatheorem = (metaLemma || metatheorem); ///
71
71
 
72
72
  if (metaLemmaMetatheorem !== null) {
73
- const metaLemmaMetatheoremUnifiedAgainstDeclaration = declaration.unifyMetaLemmaOrMetaTheorem(metaLemmaMetatheorem),
74
- metaLemmaMetatheoremUnifiedAgainstJudgement = judgement.unifyMetaLemmaOrMetaTheorem(metaLemmaMetatheorem);
73
+ const metaLemmaMetatheoremUnifiedWithDeclaration = declaration.unifyMetaLemmaOrMetaTheorem(metaLemmaMetatheorem),
74
+ metaLemmaMetatheoremUnifiedWithJudgement = judgement.unifyMetaLemmaOrMetaTheorem(metaLemmaMetatheorem);
75
75
 
76
- derivedJudgementVerified = (metaLemmaMetatheoremUnifiedAgainstDeclaration && metaLemmaMetatheoremUnifiedAgainstJudgement);
76
+ derivedJudgementVerified = (metaLemmaMetatheoremUnifiedWithDeclaration && metaLemmaMetatheoremUnifiedWithJudgement);
77
77
  } else {
78
78
  const metavariableString = localContext.nodeAsString(metavariableNode);
79
79
 
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import { nodeQuery } from "../utilities/query";
4
+ import { unifyTermWithTermType } from "../metavariable";
4
5
  import { nameFromMetavariableNode } from "../utilities/name";
5
- import { unifyTermAgainstTermType } from "../metavariable";
6
6
 
7
7
  const termNodeQuery = nodeQuery("/metavariable/argument/term"),
8
8
  typeNodeQuery = nodeQuery("/metavariable/argument/type");
@@ -43,9 +43,9 @@ export default function verifyMetavariable(metavariableNode, localContext) {
43
43
 
44
44
  localContext.debug(`No term was found when the metavariable's term type is '${termTypeName}'.`, termNode);
45
45
  } else {
46
- const termUnifiedAgainstTermType = unifyTermAgainstTermType(termNode, termType, localContext);
46
+ const termUnifiedWithTermType = unifyTermWithTermType(termNode, termType, localContext);
47
47
 
48
- metavariableVerified = termUnifiedAgainstTermType; ///
48
+ metavariableVerified = termUnifiedWithTermType; ///
49
49
  }
50
50
  }
51
51
  }
@@ -3,7 +3,7 @@
3
3
  import verifyEquality from "../equality";
4
4
  import verifyJudgement from "../judgement";
5
5
  import verifyTypeAssertion from "../assertion/type";
6
- import unifyMetavariableAgainstStatement from "../../unify/metavariableAgainstStatement";
6
+ import unifyMetavariableWithStatement from "../../unify/metavariableWithStatement";
7
7
 
8
8
  import { nodeQuery } from "../../utilities/query";
9
9
 
@@ -21,12 +21,12 @@ export default function verifyQualifiedStatement(qualifiedStatementNode, substit
21
21
  localContext.trace(`Verifying the '${qualifiedStatementString}' qualified statement...`, qualifiedStatementNode);
22
22
 
23
23
  const unifyQualifiedStatementFunctions = [
24
- unifyQualifiedStatementAAgainstRule,
25
- unifyQualifiedStatementAAgainstAxiom,
26
- unifyQualifiedStatementAAgainstLemma,
27
- unifyQualifiedStatementAAgainstTheorem,
28
- unifyQualifiedStatementAAgainstConjecture,
29
- unifyQualifiedStatementAAgainstReference
24
+ unifyQualifiedStatementAWithRule,
25
+ unifyQualifiedStatementAWithAxiom,
26
+ unifyQualifiedStatementAWithLemma,
27
+ unifyQualifiedStatementAWithTheorem,
28
+ unifyQualifiedStatementAWithConjecture,
29
+ unifyQualifiedStatementAWithReference
30
30
  ];
31
31
 
32
32
  const qualifiedStatementUnified = unifyQualifiedStatementFunctions.some((unifyQualifiedStatementFunction) => { ///
@@ -52,8 +52,8 @@ export default function verifyQualifiedStatement(qualifiedStatementNode, substit
52
52
  return qualifiedStatementVerified;
53
53
  }
54
54
 
55
- function unifyQualifiedStatementAAgainstRule(qualifiedStatementNode, substitutions, localContext) {
56
- let qualifiedStatementUnifiedAgainstRule = false;
55
+ function unifyQualifiedStatementAWithRule(qualifiedStatementNode, substitutions, localContext) {
56
+ let qualifiedStatementUnifiedWithRule = false;
57
57
 
58
58
  const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
59
59
  rule = localContext.findRuleByMetavariableNode(metavariableNode);
@@ -63,22 +63,22 @@ function unifyQualifiedStatementAAgainstRule(qualifiedStatementNode, substitutio
63
63
  metavariableString = localContext.nodeAsString(metavariableNode),
64
64
  qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
65
65
 
66
- localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement against the '${metavariableString}' rule...`, qualifiedStatementNode);
66
+ localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' rule...`, qualifiedStatementNode);
67
67
 
68
68
  const ruleMatchesStatement = rule.unifyStatement(statementNode, localContext);
69
69
 
70
- qualifiedStatementUnifiedAgainstRule = ruleMatchesStatement; ///
70
+ qualifiedStatementUnifiedWithRule = ruleMatchesStatement; ///
71
71
 
72
- if (qualifiedStatementUnifiedAgainstRule) {
73
- localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement against the '${metavariableString}' rule.`, qualifiedStatementNode);
72
+ if (qualifiedStatementUnifiedWithRule) {
73
+ localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' rule.`, qualifiedStatementNode);
74
74
  }
75
75
  }
76
76
 
77
- return qualifiedStatementUnifiedAgainstRule;
77
+ return qualifiedStatementUnifiedWithRule;
78
78
  }
79
79
 
80
- function unifyQualifiedStatementAAgainstAxiom(qualifiedStatementNode, substitutions, localContext) {
81
- let qualifiedStatementUnifiedAgainstAxiom = false;
80
+ function unifyQualifiedStatementAWithAxiom(qualifiedStatementNode, substitutions, localContext) {
81
+ let qualifiedStatementUnifiedWithAxiom = false;
82
82
 
83
83
  const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
84
84
  axiom = localContext.findAxiomByMetavariableNode(metavariableNode);
@@ -88,22 +88,22 @@ function unifyQualifiedStatementAAgainstAxiom(qualifiedStatementNode, substituti
88
88
  metavariableString = localContext.nodeAsString(metavariableNode),
89
89
  qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
90
90
 
91
- localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement against the '${metavariableString}' axiom...`, qualifiedStatementNode);
91
+ localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' axiom...`, qualifiedStatementNode);
92
92
 
93
93
  const axiomMatchesStatement = axiom.unifyStatement(statementNode, localContext);
94
94
 
95
- qualifiedStatementUnifiedAgainstAxiom = axiomMatchesStatement; ///
95
+ qualifiedStatementUnifiedWithAxiom = axiomMatchesStatement; ///
96
96
 
97
- if (qualifiedStatementUnifiedAgainstAxiom) {
98
- localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement against the '${metavariableString}' axiom.`, qualifiedStatementNode);
97
+ if (qualifiedStatementUnifiedWithAxiom) {
98
+ localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' axiom.`, qualifiedStatementNode);
99
99
  }
100
100
  }
101
101
 
102
- return qualifiedStatementUnifiedAgainstAxiom;
102
+ return qualifiedStatementUnifiedWithAxiom;
103
103
  }
104
104
 
105
- function unifyQualifiedStatementAAgainstLemma(qualifiedStatementNode, substitutions, localContext) {
106
- let qualifiedStatementUnifiedAgainstLemma = false;
105
+ function unifyQualifiedStatementAWithLemma(qualifiedStatementNode, substitutions, localContext) {
106
+ let qualifiedStatementUnifiedWithLemma = false;
107
107
 
108
108
  const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
109
109
  lemma = localContext.findLemmaByMetavariableNode(metavariableNode);
@@ -113,22 +113,22 @@ function unifyQualifiedStatementAAgainstLemma(qualifiedStatementNode, substituti
113
113
  metavariableString = localContext.nodeAsString(metavariableNode),
114
114
  qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
115
115
 
116
- localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement against the '${metavariableString}' lemma...`, qualifiedStatementNode);
116
+ localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' lemma...`, qualifiedStatementNode);
117
117
 
118
118
  const lemmaMatchesStatement = lemma.unifyStatement(statementNode, localContext);
119
119
 
120
- qualifiedStatementUnifiedAgainstLemma = lemmaMatchesStatement; ///
120
+ qualifiedStatementUnifiedWithLemma = lemmaMatchesStatement; ///
121
121
 
122
- if (qualifiedStatementUnifiedAgainstLemma) {
123
- localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement against the '${metavariableString}' lemma.`, qualifiedStatementNode);
122
+ if (qualifiedStatementUnifiedWithLemma) {
123
+ localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' lemma.`, qualifiedStatementNode);
124
124
  }
125
125
  }
126
126
 
127
- return qualifiedStatementUnifiedAgainstLemma;
127
+ return qualifiedStatementUnifiedWithLemma;
128
128
  }
129
129
 
130
- function unifyQualifiedStatementAAgainstTheorem(qualifiedStatementNode, substitutions, localContext) {
131
- let qualifiedStatementUnifiedAgainstTheorem = false;
130
+ function unifyQualifiedStatementAWithTheorem(qualifiedStatementNode, substitutions, localContext) {
131
+ let qualifiedStatementUnifiedWithTheorem = false;
132
132
 
133
133
  const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
134
134
  theorem = localContext.findTheoremByMetavariableNode(metavariableNode);
@@ -138,22 +138,22 @@ function unifyQualifiedStatementAAgainstTheorem(qualifiedStatementNode, substitu
138
138
  metavariableString = localContext.nodeAsString(metavariableNode),
139
139
  qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
140
140
 
141
- localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement against the '${metavariableString}' theorem...`, qualifiedStatementNode);
141
+ localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' theorem...`, qualifiedStatementNode);
142
142
 
143
143
  const theoremMatchesStatement = theorem.unifyStatement(statementNode, localContext);
144
144
 
145
- qualifiedStatementUnifiedAgainstTheorem = theoremMatchesStatement; ///
145
+ qualifiedStatementUnifiedWithTheorem = theoremMatchesStatement; ///
146
146
 
147
- if (qualifiedStatementUnifiedAgainstTheorem) {
148
- localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement against the '${metavariableString}' theorem.`, qualifiedStatementNode);
147
+ if (qualifiedStatementUnifiedWithTheorem) {
148
+ localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' theorem.`, qualifiedStatementNode);
149
149
  }
150
150
  }
151
151
 
152
- return qualifiedStatementUnifiedAgainstTheorem;
152
+ return qualifiedStatementUnifiedWithTheorem;
153
153
  }
154
154
 
155
- function unifyQualifiedStatementAAgainstConjecture(qualifiedStatementNode, substitutions, localContext) {
156
- let qualifiedStatementUnifiedAgainstConjecture = false;
155
+ function unifyQualifiedStatementAWithConjecture(qualifiedStatementNode, substitutions, localContext) {
156
+ let qualifiedStatementUnifiedWithConjecture = false;
157
157
 
158
158
  const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
159
159
  conjecture = localContext.findConjectureByMetavariableNode(metavariableNode);
@@ -163,29 +163,29 @@ function unifyQualifiedStatementAAgainstConjecture(qualifiedStatementNode, subst
163
163
  metavariableString = localContext.nodeAsString(metavariableNode),
164
164
  qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
165
165
 
166
- localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement against the '${metavariableString}' conjecture...`, qualifiedStatementNode);
166
+ localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' conjecture...`, qualifiedStatementNode);
167
167
 
168
168
  const conjectureMatchesStatement = conjecture.unifyStatement(statementNode, localContext);
169
169
 
170
- qualifiedStatementUnifiedAgainstConjecture = conjectureMatchesStatement; ///
170
+ qualifiedStatementUnifiedWithConjecture = conjectureMatchesStatement; ///
171
171
 
172
- if (qualifiedStatementUnifiedAgainstConjecture) {
173
- localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement against the '${metavariableString}' conjecture.`, qualifiedStatementNode);
172
+ if (qualifiedStatementUnifiedWithConjecture) {
173
+ localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' conjecture.`, qualifiedStatementNode);
174
174
  }
175
175
  }
176
176
 
177
- return qualifiedStatementUnifiedAgainstConjecture;
177
+ return qualifiedStatementUnifiedWithConjecture;
178
178
  }
179
179
 
180
- function unifyQualifiedStatementAAgainstReference(qualifiedStatementNode, substitutions, localContext) {
181
- let qualifiedStatementUnifiedAgainstReference = false;
180
+ function unifyQualifiedStatementAWithReference(qualifiedStatementNode, substitutions, localContext) {
181
+ let qualifiedStatementUnifiedWithReference = false;
182
182
 
183
183
  const metavariableNode = metavariableNodeQuery(qualifiedStatementNode),
184
184
  metavariableString = localContext.nodeAsString(metavariableNode),
185
185
  metavariablePresent = localContext.isMetavariablePresentByMetavariableNode(metavariableNode),
186
186
  qualifiedStatementString = localContext.nodeAsString(qualifiedStatementNode);
187
187
 
188
- localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement against the '${metavariableString}' reference...`, qualifiedStatementNode);
188
+ localContext.trace(`Unifying the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' reference...`, qualifiedStatementNode);
189
189
 
190
190
  if (metavariablePresent) {
191
191
  const statementNode = statementNodeQuery(qualifiedStatementNode),
@@ -194,20 +194,20 @@ function unifyQualifiedStatementAAgainstReference(qualifiedStatementNode, substi
194
194
  statementNodeB = statementNode, ///
195
195
  substitutionNodeA = null,
196
196
  metavariableNodeA = metavariableNode, ///
197
- metavariableUnifiedAgainstStatement = unifyMetavariableAgainstStatement(metavariableNodeA, statementNodeB, substitutionNodeA, substitutions, localContextA, localContextB, () => {
197
+ metavariableUnifiedWithStatement = unifyMetavariableWithStatement(metavariableNodeA, statementNodeB, substitutionNodeA, substitutions, localContextA, localContextB, () => {
198
198
  const verifiedAhead = true;
199
199
 
200
200
  return verifiedAhead;
201
201
  });
202
202
 
203
- qualifiedStatementUnifiedAgainstReference = metavariableUnifiedAgainstStatement; ///
203
+ qualifiedStatementUnifiedWithReference = metavariableUnifiedWithStatement; ///
204
204
  }
205
205
 
206
- if (qualifiedStatementUnifiedAgainstReference) {
207
- localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement against the '${metavariableString}' reference.`, qualifiedStatementNode);
206
+ if (qualifiedStatementUnifiedWithReference) {
207
+ localContext.debug(`...unified the '${qualifiedStatementString}' qualified statement with the '${metavariableString}' reference.`, qualifiedStatementNode);
208
208
  }
209
209
 
210
- return qualifiedStatementUnifiedAgainstReference;
210
+ return qualifiedStatementUnifiedWithReference;
211
211
  }
212
212
 
213
213
  function verifyStatedStatement(statementNode, assignments, derived, localContext) {
@@ -9,7 +9,7 @@ import verifyTypeAssertion from "../verify/assertion/type";
9
9
  import verifyDefinedAssertion from "../verify/assertion/defined";
10
10
  import verifySubproofAssertion from "../verify/assertion/subproof";
11
11
  import verifyContainedAssertion from "../verify/assertion/contained";
12
- import statementAgainstCombinatorUnifier from "../unifier/statementAgainstCombinator";
12
+ import statementWithCombinatorUnifier from "../unifier/statementWithCombinator";
13
13
 
14
14
  import { nodeQuery } from "../utilities/query";
15
15
 
@@ -28,9 +28,9 @@ function verifyStatement(statementNode, assignments, derived, localContext) {
28
28
 
29
29
  localContext.trace(`Verifying the '${statementString}' statement...`, statementNode);
30
30
 
31
- const statementUnifiedAgainstCombinators = unifyStatementAgainstCombinators(statementNode, assignments, derived, localContext);
31
+ const statementUnifiedWithCombinators = unifyStatementWithCombinators(statementNode, assignments, derived, localContext);
32
32
 
33
- if (statementUnifiedAgainstCombinators) {
33
+ if (statementUnifiedWithCombinators) {
34
34
  statementVerified = true;
35
35
  } else {
36
36
  const verifyStatementFunctions = [
@@ -41,7 +41,7 @@ function verifyStatement(statementNode, assignments, derived, localContext) {
41
41
  verifyStatementAsDefinedAssertion,
42
42
  verifyStatementAsSubproofAssertion,
43
43
  verifyStatementAsContainedAssertion,
44
- unifyStatementAgainstCombinators
44
+ unifyStatementWithCombinators
45
45
  ];
46
46
 
47
47
  statementVerified = verifyStatementFunctions.some((verifyStatementFunction) => {
@@ -220,8 +220,8 @@ function verifyStatementAsContainedAssertion(statementNode, assignments, derived
220
220
  return statementVerifiedAsContainedAssertion;
221
221
  }
222
222
 
223
- function unifyStatementAgainstCombinators(statementNode, assignments, derived, localContext) {
224
- let statementUnifiedAgainstCombinators = false;
223
+ function unifyStatementWithCombinators(statementNode, assignments, derived, localContext) {
224
+ let statementUnifiedWithCombinators = false;
225
225
 
226
226
  const equalityNode = equalityNodeQuery(statementNode),
227
227
  judgementNode = judgementNodeQuery(statementNode),
@@ -246,33 +246,33 @@ function unifyStatementAgainstCombinators(statementNode, assignments, derived, l
246
246
  ...combinators
247
247
  ];
248
248
 
249
- statementUnifiedAgainstCombinators = combinators.some((combinator) => {
250
- const statementUnifiedAgainstCombinator = unifyStatementAgainstCombinator(statementNode, combinator, localContext);
249
+ statementUnifiedWithCombinators = combinators.some((combinator) => {
250
+ const statementUnifiedWithCombinator = unifyStatementWithCombinator(statementNode, combinator, localContext);
251
251
 
252
- if (statementUnifiedAgainstCombinator) {
252
+ if (statementUnifiedWithCombinator) {
253
253
  return true;
254
254
  }
255
255
  });
256
256
  }
257
257
 
258
- return statementUnifiedAgainstCombinators;
258
+ return statementUnifiedWithCombinators;
259
259
  }
260
260
 
261
- function unifyStatementAgainstCombinator(statementNode, combinator, localContext) {
262
- let statementUnifiedAgainstCombinator;
261
+ function unifyStatementWithCombinator(statementNode, combinator, localContext) {
262
+ let statementUnifiedWithCombinator;
263
263
 
264
264
  const statementString = localContext.nodeAsString(statementNode),
265
265
  combinatorString = combinator.getString();
266
266
 
267
- localContext.trace(`Unifying the '${statementString}' statement against the '${combinatorString}' combinator...`, statementNode);
267
+ localContext.trace(`Unifying the '${statementString}' statement with the '${combinatorString}' combinator...`, statementNode);
268
268
 
269
269
  const combinatorStatementNode = combinator.getStatementNode();
270
270
 
271
- statementUnifiedAgainstCombinator = statementAgainstCombinatorUnifier.unify(statementNode, combinatorStatementNode, localContext);
271
+ statementUnifiedWithCombinator = statementWithCombinatorUnifier.unify(statementNode, combinatorStatementNode, localContext);
272
272
 
273
- if (statementUnifiedAgainstCombinator) {
274
- localContext.debug(`...unified the '${statementString}' statement against the '${combinatorString}' combinator.`, statementNode);
273
+ if (statementUnifiedWithCombinator) {
274
+ localContext.debug(`...unified the '${statementString}' statement with the '${combinatorString}' combinator.`, statementNode);
275
275
  }
276
276
 
277
- return statementUnifiedAgainstCombinator;
277
+ return statementUnifiedWithCombinator;
278
278
  }
@@ -8,7 +8,7 @@ export default function verifyStatementAsCombinator(statementNode, fileContext)
8
8
 
9
9
  const statementString = fileContext.nodeAsString(statementNode);
10
10
 
11
- fileContext.trace(`Verifying the '${statementString}' statement as a combinator....`, statementNode);
11
+ fileContext.trace(`Verifying the '${statementString}' statement as a combinator...`, statementNode);
12
12
 
13
13
  statementVerifiedAsCombinator = statementAsCombinatorVerifier.verify(statementNode, fileContext);
14
14