isabelle-prover / proving-contest-backends

"proving-contest"-backends for several theorem provers
MIT License
12 stars 5 forks source link

Poller for Lean #1

Closed johoelzl closed 6 years ago

johoelzl commented 6 years ago

Okay this adds a very basic version (it isn't tested yet. to run it you need to remove the sys.exit line)

The idea is the following:

1) run lean check.lean -E check.out --only-export=main_theorem to compile the proof object output from the check.lean file. check.lean contains a main_theorem which checks if the correct theorem was provided

2) run leanchecker check.out main_theorem -- this checks the proof objects and outputs all used axioms

I guess 1) should just produce the file, and no output on stdout at all. 2) might produce three of the following theorems propext, classical.choice and quot.sound.

1) needs to run in a VM, or container or similar. There is no way in Lean to avoid calling meta-functions. The problem is that they have full access to the file system, they can shut down the prover and output arbitrary data. I think leanchecker shouldn't be a problem at all.