-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Starting a layer of abstraction. * swrdgv * sedgf * ONgoing work. FOL structure mostly implemented, substitutions ongoing. * continued * further changes * LisaObject has a self type being self * More improvements on substitution * More work * multivar substitution * improvements to MapProofTest * finished fol, need to do prooflib * started work on prooflib, cut plenty unused code in Library.scala * more work on substitutions * updated WithTheorems * finished BasicSteptactics and substitutions * more corrections of tactics using unifier * fixed F and K imports * finished PrrofHelpers and definitions. Definitions possibly not final * Done most of the simpleDeducedSteps * ongoing work on types * added doc in Common.scala * more doc, some simplification * more doc and simplification of unneeded parts * fixed some export issues. Commented some tests. translation left for the future. * remove some debug code * add missing files * continue F integration. FInished with Set theory library files, now doing CommonTactics.scala (part is Dario's work). * simplifier remaining * renaming and mroe compatibility * more adaptations * merge build.sbt * fixing * transforming unification to Front * weird issues with match types and dotty * Compiles..? Need to simplify use of Arity in formula labels now. Finger crossed. * add missing files * still compiles * Term**0 |-> Term * Does not compile (dotty crash). Possibly due to covariant schematic labels. * Labels are contravariant * Weird "inherits conflicting instances of non-variant base trait LisaObject" * structure seems to work; Constant extends ConstantFunctionSymbol[0], issue with case class (has to reimplement). * back to the "common super type with case classes" structure * finished predicates, compiles. Connector left * Finished datastructure. TODO: Underlyings, Arity, uncomment asFront * Compiles, checked arity and underlyings (mostly) * Rehabilited asFront. Next stop, Substitution. * porting unificationUtils * half of unificationUtils done. Need to make Common even closer structure to kernel (variableFormula extends PredicateFormula) * progress through unification * compiles, progressing * safe for reset * only applySubst remaining. Note: given ```scala val s: Seq[(Variable, Term)] ``` `s.toMap` crashes dotty. Instead, do `Map(s*)`. * Substitution done, everything compiles. * rehabilited commented function * utils tests compiles and pass. * Finished setTheorzLibrary, close to finish OLPropositionalSolver * Quantifiers.scala work, completed BasicProofTactic, implemented printing of terms and formulas * progress on compilation and run of SetTheory.scala * ordinals1 works * Everything works, even example package. Some tests are still commentated. Simplified a couple proofs. * Small improvements * Ready for demo * scalafix, scalafmt * git add * Removed unused option in build.sbt, run scalafixAll and scalafmtAll on lisa-examples, add a newline in build.properties
- Loading branch information
1 parent
c3bd76a
commit 265ed45
Showing
69 changed files
with
4,408 additions
and
2,323 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,3 +11,8 @@ target | |
*.scala.semanticdb | ||
|
||
*.iml | ||
|
||
# silex and scallion | ||
|
||
silex/* | ||
scallion/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
import lisa.utils.K | ||
|
||
import K.* | ||
|
||
/** | ||
* Discover some of the elements of the logical kernel of LISA. | ||
*/ | ||
object ExampleKernel { | ||
|
||
import lisa.kernel.proof.SequentCalculus.* | ||
|
||
def main(args: Array[String]): Unit = { | ||
val phi = formulaVariable() | ||
val psi = formulaVariable() | ||
val PierceLaw = SCProof( | ||
Hypothesis(phi |- phi, phi), | ||
Weakening(phi |- (phi, psi), 0), | ||
RightImplies(() |- (phi, phi ==> psi), 1, phi, psi), | ||
LeftImplies((phi ==> psi) ==> phi |- phi, 2, 0, (phi ==> psi), phi), | ||
RightImplies(() |- ((phi ==> psi) ==> phi) ==> phi, 3, (phi ==> psi) ==> phi, phi) | ||
) | ||
val PierceLaw2 = SCProof( | ||
RestateTrue(() |- ((phi ==> psi) ==> phi) ==> phi) | ||
) | ||
|
||
checkProof(PierceLaw, println) | ||
checkProof(PierceLaw2, println) | ||
|
||
val theory = new RunningTheory | ||
val pierceThm: theory.Theorem = theory.makeTheorem("Pierce's Law", () |- ((phi ==> psi) ==> phi) ==> phi, PierceLaw, Seq.empty).get | ||
} | ||
|
||
} |
Oops, something went wrong.