Skip to content

Added Support For Reals - #76

Open
Mathletesv wants to merge 40 commits into
leanprover-community:mainfrom
Mathletesv:main
Open

Added Support For Reals#76
Mathletesv wants to merge 40 commits into
leanprover-community:mainfrom
Mathletesv:main

Conversation

@Mathletesv

Copy link
Copy Markdown
Contributor

Lean-Auto can now handle Reals the same way it handles Ints whenever Mathlib is imported. The primary changes along with explanations are found in Auto/MathlibReal.lean and Auto/Lib/RealType.lean. The RealTy typeclass is used to represent Real in the embedding, so it is necessary to thread a variable (R? : Option ((R : Type) × RealTy R)) throughout (this accounts for the majority of the changes in Auto/Embedding). The function getRealOpt (in Translation/LamUtils.lean) is called to provide R? and it returns none unless Auto.MathlibReal has been imported by the calling file.

Please let me know if you would like more explanation about anything or would like to meet to discuss my changes.

Some tests showing what lean-auto can prove while trusting smt solvers can be found in https://github.com/Mathletesv/lean-auto/blob/real-tests/Test/RealTests.lean.
This addition also enables Lean-smt to use Lean-auto's monomorphization to solve goals such as the ones in https://github.com/Mathletesv/lean-smt/blob/main/Test/AutoReals.lean

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant