Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* change interface of factor * generalize smtCong * andElim, true/false elim/intro * fix order of output or-chain in R2 * fix inferring of smtCong to use * completing flipped resolution thms * fixed flipped lengths in resolution * fix: instantiateMVars in smtCong * fix: infer which resolution_thm to use * feat: resolution don't need the goal in the context anymore * added script for building only Reconstruction/Certifying * new tactic: notOrElim * rename doubleNeg to notNotElim * iteElim * cnfOrNeg * cnfOrNeg * missing only one rule * fix warnings * finished all rules from boolean * update lakefile * update lakefile * fix bug in andElim * comment profiling logs * added rule for neg_symm * new tactic: LiftOrNToNeg * adding liftOrNToNeg to Certifying.lean * small fix on resolution * fix bug in pull * new parameter for resolution - adapted Pull to use this new parameter instead of backtrack; - resolution will group the correct suffix in the resulting expression. Example: h1 := A \/ B \/ C \/ D h2 := E \/ (Not B) \/ F \/ G R1 h1, h2, B, [2, -1] := A \/ (C \/ D) \/ E \/ F \/ G * added new parameter for factor and fix it's ambiguity * changing Iff to Eq * removing unnecessary pullTail * fix on permutateOr (big example is now working) * arithmetic tactic for naturals * Int arith rules * added all rules for arithmetic reasoning * added tactic for trichotomy * tighting bounds (unfinished) * update on tight bounds * bump lean version * complete first theorem * almost finished last lemma * finished bounds lemmas (refactor needed) * some refactors in TightBounds * fix on liftOrNToImp * refactor tight bounds * added macro for flipped version of notAnd and congrIte * remove unused theorems in Boolean * added import to tightbounds * removed nat arith * fix on permutateOr * fix on liftorntoneg * using builtin modus tollens * change parameters to implicit in cnf rules * bump lean version, update examples and enabling benchmark of tactics * new trace option for profiler * using trace[smt.profile] instead of loginfo * exposing instances of LinearOrder * Generalizing sumBounds to work with n arguments * sumBounds: more examples * ...I guess? * updating #elab * fix: trichotomy for LE.le and GE.ge * new rule: mulPosNeg * neg version of mulPosNeg * fixed lemmas about ceil and floor * castLT * [quant] Changing to equality conclusions, adding Skolemization example * [quant] Have instForall require body, instantiation Also adds a macro to pass premise first and an example with two instantiated variables. * tactic for tight bounds * change flip inst macro to finish it with endline probably there is a better solution than to use brackets, but this one was simple enough to do * tactic for intTightLb * fix on groupOrPrefix * erase code on Options.lean * macro for flipping congrArg * improving andElim and notOrElim * moving from boolean.lean to util.lean * expanding macros at andElim * hiding Rat from Lean * Unpolished changes useful for demo. * Slight changes to demo. * macro for decidable ite * fixing new let declaration in liftOrNToImp expanding types in liftOrNImp * removing unnecessary * removing examples * removing old example * bumping lean version * update .gitignore * new implementation for groupOrPrefix using only MetaM * ported liftorntoimp * fixing order of arguments congOrLeft * removing bench script * removing git mark * fixing build * pullToMiddle working up to step 2 * pull working up to step 3 * pullToMiddle working! * pull complete * liftOrNToNeg done * rename pullCore' -> pullCore * rename groupPrefixCore' -> groupPrefixCore * PermutateOr ported * resolution and boolean * moving timed theorems * factor done * timed factor * adding copyright notice * adding namespaces * revert gitignore * remove profile script from lakefile * revert Smt/Int.lean * moving examples * removing abbrev Implies to avoid ambiguity * using just the namespace Smt.Reconstruction.Certifying for all reconstruction files * skipping examples and reconstruction in tests * Update lakefile.lean Co-authored-by: Abdalrhman Mohamed <[email protected]> * fix on resolution * stop using panic in mulposneg * new util function * fix on permutateor * remove unnecessary do * changing interface for all tactics, automatically close goal * getting rid of panic! * fix on liftorntoimp * added tests for reconstruction * adding tests for each tactic * removing benchmark tests * changing interface for arithMulPosNeg * metaM for mulPosNeg * ported sumBounds to metaM * porting tightBounds to MetaM * porting trichotomy to MetaM * fix: mulPosNeg can receive arbitrary expressions * remove commentary * added lemmas required for arithMulSign * half arithMulSign * remove bench * arithMulSign done * fix on arithMulSign * arithMulSign works with mixed types * fix on notOrElim * congruence over addition * patch on mulPosNeg to support literals as parameters * arithMulPos/Neg supports equality * arithMulSign supports arbitrary expressions * arithMulSign refactor and supports NZ * cleanup arithMulSign * more cleanup arithMulSign * more cleanup arithMulSign * patch on getOp * testing update on process_lean_smt * revert testing log * added theorems for tangent plane * bump mathlib and lean version new mathlib version contains transcendental functions * bump mathlib * tracing profile for resolution * testing log * adding profile traces * changing milliseconds to nanoseconds * iteIntro * iteIntro not just for props * iteIntro with explicit parameters * fixes on mulPosNeg and sumBounds and iteIntro * timed tactic * fix tests for associativity on arith * fix on factor, pullToMiddle and createOrChain * exporting TimedBoolean * fix test on mulposneg * groupClausePrefix * fix on permutateOr * test * using tactics without setting the goal * fix on factor * timed supports macros and theorems without parameters * typo * props example * add README on certified * support for sharing in boolean tactics * typo on factor * more tests * fix on mulPosNeg * expanding lets on arith tactics * fixing propsExample * erase certified * adding examples of proof scripts * improvement on propsExample * deleting tightbounds/castlt * fix on tight bounds * removing TimedTheorems * remove test and rename timed * rolling back Certified/ (not part of this PR) * rolling back Certified/ (not part of this PR) * removing stuff from PR * TimedBoolean -> Timed * moving tests to the tests folder * removing support for nat in sumbounds * added universe parameter for congrIte * added universe parameter for iteIntro * new tactic for congruence * fix on expandLet * remove blank line * simplification * update * removing library search * removing expand let (fix tests) * lake manifest * changing unique identifiers on test --------- Co-authored-by: Tomaz Gomes Mascarenhas <[email protected]> Co-authored-by: Haniel Barbosa <[email protected]> Co-authored-by: Abdalrhman M Mohamed <[email protected]>
- Loading branch information