├── .gitignore ├── LICENSE ├── MPL.lean ├── MPL ├── Experimental.lean ├── Experimental │ ├── Crush.lean │ └── Do.lean ├── IO.lean ├── Idd.lean ├── PostCond.lean ├── PredTrans.lean ├── SPred.lean ├── SPred │ ├── DerivedLaws.lean │ ├── Laws.lean │ ├── Notation.lean │ ├── ProofMode.lean │ ├── ProofMode │ │ ├── Display.lean │ │ ├── Focus.lean │ │ ├── MGoal.lean │ │ ├── Patterns │ │ │ ├── MCases.lean │ │ │ └── MRefine.lean │ │ ├── Tactics.lean │ │ └── Tactics │ │ │ ├── Assumption.lean │ │ │ ├── Basic.lean │ │ │ ├── Cases.lean │ │ │ ├── Clear.lean │ │ │ ├── Constructor.lean │ │ │ ├── Exact.lean │ │ │ ├── Exfalso.lean │ │ │ ├── Exists.lean │ │ │ ├── Frame.lean │ │ │ ├── Have.lean │ │ │ ├── Intro.lean │ │ │ ├── LeftRight.lean │ │ │ ├── Pure.lean │ │ │ ├── Refine.lean │ │ │ ├── Revert.lean │ │ │ └── Specialize.lean │ ├── SPred.lean │ └── SVal.lean ├── SimpAttr.lean ├── SpecAttr.lean ├── Specs.lean ├── Tactics.lean ├── Tactics │ ├── LetElim.lean │ ├── Spec.lean │ ├── Utils.lean │ └── VCGen.lean ├── Triple.lean ├── Util │ ├── Trace.lean │ └── UnexpandRule.lean ├── WP.lean ├── WPMonad.lean ├── WPMonadExceptOf.lean ├── WPMonadFunctor.lean └── WPMonadLift.lean ├── README.md ├── Test.lean ├── Test ├── Aeneas.lean ├── Automated.lean ├── BhaviksSampler.lean ├── ByHand.lean ├── Code.lean ├── Demo.lean ├── File.lean ├── Notation.lean ├── ProofMode.lean └── VSTTE2010.lean ├── docbuild ├── .gitignore ├── lake-manifest.json ├── lakefile.toml └── lean-toolchain ├── lake-manifest.json ├── lakefile.toml └── lean-toolchain /.gitignore: -------------------------------------------------------------------------------- 1 | /.lake 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/LICENSE -------------------------------------------------------------------------------- /MPL.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL.lean -------------------------------------------------------------------------------- /MPL/Experimental.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/Experimental.lean -------------------------------------------------------------------------------- /MPL/Experimental/Crush.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/Experimental/Crush.lean -------------------------------------------------------------------------------- /MPL/Experimental/Do.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/Experimental/Do.lean -------------------------------------------------------------------------------- /MPL/IO.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/IO.lean -------------------------------------------------------------------------------- /MPL/Idd.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/Idd.lean -------------------------------------------------------------------------------- /MPL/PostCond.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/PostCond.lean -------------------------------------------------------------------------------- /MPL/PredTrans.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/PredTrans.lean -------------------------------------------------------------------------------- /MPL/SPred.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred.lean -------------------------------------------------------------------------------- /MPL/SPred/DerivedLaws.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/DerivedLaws.lean -------------------------------------------------------------------------------- /MPL/SPred/Laws.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/Laws.lean -------------------------------------------------------------------------------- /MPL/SPred/Notation.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/Notation.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Display.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Display.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Focus.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Focus.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/MGoal.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/MGoal.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Patterns/MCases.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Patterns/MCases.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Patterns/MRefine.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Patterns/MRefine.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Assumption.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Assumption.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Basic.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Basic.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Cases.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Cases.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Clear.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Clear.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Constructor.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Constructor.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Exact.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Exact.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Exfalso.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Exfalso.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Exists.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Exists.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Frame.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Frame.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Have.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Have.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Intro.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Intro.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/LeftRight.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/LeftRight.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Pure.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Pure.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Refine.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Refine.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Revert.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Revert.lean -------------------------------------------------------------------------------- /MPL/SPred/ProofMode/Tactics/Specialize.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/ProofMode/Tactics/Specialize.lean -------------------------------------------------------------------------------- /MPL/SPred/SPred.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/SPred.lean -------------------------------------------------------------------------------- /MPL/SPred/SVal.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SPred/SVal.lean -------------------------------------------------------------------------------- /MPL/SimpAttr.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SimpAttr.lean -------------------------------------------------------------------------------- /MPL/SpecAttr.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/SpecAttr.lean -------------------------------------------------------------------------------- /MPL/Specs.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/Specs.lean -------------------------------------------------------------------------------- /MPL/Tactics.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/Tactics.lean -------------------------------------------------------------------------------- /MPL/Tactics/LetElim.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/Tactics/LetElim.lean -------------------------------------------------------------------------------- /MPL/Tactics/Spec.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/Tactics/Spec.lean -------------------------------------------------------------------------------- /MPL/Tactics/Utils.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/Tactics/Utils.lean -------------------------------------------------------------------------------- /MPL/Tactics/VCGen.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/Tactics/VCGen.lean -------------------------------------------------------------------------------- /MPL/Triple.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/Triple.lean -------------------------------------------------------------------------------- /MPL/Util/Trace.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/Util/Trace.lean -------------------------------------------------------------------------------- /MPL/Util/UnexpandRule.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/Util/UnexpandRule.lean -------------------------------------------------------------------------------- /MPL/WP.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/WP.lean -------------------------------------------------------------------------------- /MPL/WPMonad.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/WPMonad.lean -------------------------------------------------------------------------------- /MPL/WPMonadExceptOf.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/WPMonadExceptOf.lean -------------------------------------------------------------------------------- /MPL/WPMonadFunctor.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/WPMonadFunctor.lean -------------------------------------------------------------------------------- /MPL/WPMonadLift.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/MPL/WPMonadLift.lean -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/README.md -------------------------------------------------------------------------------- /Test.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/Test.lean -------------------------------------------------------------------------------- /Test/Aeneas.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/Test/Aeneas.lean -------------------------------------------------------------------------------- /Test/Automated.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/Test/Automated.lean -------------------------------------------------------------------------------- /Test/BhaviksSampler.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/Test/BhaviksSampler.lean -------------------------------------------------------------------------------- /Test/ByHand.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/Test/ByHand.lean -------------------------------------------------------------------------------- /Test/Code.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/Test/Code.lean -------------------------------------------------------------------------------- /Test/Demo.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/Test/Demo.lean -------------------------------------------------------------------------------- /Test/File.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/Test/File.lean -------------------------------------------------------------------------------- /Test/Notation.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/Test/Notation.lean -------------------------------------------------------------------------------- /Test/ProofMode.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/Test/ProofMode.lean -------------------------------------------------------------------------------- /Test/VSTTE2010.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/Test/VSTTE2010.lean -------------------------------------------------------------------------------- /docbuild/.gitignore: -------------------------------------------------------------------------------- 1 | /.lake 2 | -------------------------------------------------------------------------------- /docbuild/lake-manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/docbuild/lake-manifest.json -------------------------------------------------------------------------------- /docbuild/lakefile.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/docbuild/lakefile.toml -------------------------------------------------------------------------------- /docbuild/lean-toolchain: -------------------------------------------------------------------------------- 1 | leanprover/lean4:v4.18.0 -------------------------------------------------------------------------------- /lake-manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/lake-manifest.json -------------------------------------------------------------------------------- /lakefile.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/lakefile.toml -------------------------------------------------------------------------------- /lean-toolchain: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sgraf812/mpl/HEAD/lean-toolchain --------------------------------------------------------------------------------