| ▲ | stevan 4 days ago | ||||||||||||||||
> That is basically the same as "Proof by reflection" as used by Gonthier, where the Coq kernel acts as the (unverified) rewriting engine. I don't think it's "basically the same", because this application of the rewrite rules in a LCF-like system is explicit (i.e. the proof checking work grows with the size of the problem), while in proof by reflection in a type theory it happens implicitly because the "rewriting" happens as part of reduction and makes use of with the definitional equality of the system? For small and medium examples this probably doesn't matter, but I would think that for something like the four colour theorem it would. | |||||||||||||||||
| ▲ | practal 4 days ago | parent | next [-] | ||||||||||||||||
As I said, it depends on how you practically implement it. I've used it for proving linear inequalities as part of the Flyspeck project (formal proof of the Kepler conjecture), and there I implemented my own rewrite engine for taking a set of rewrite rules and do the computation outside of the LCF kernel, for example by compiling the rules to Standard ML. You can view that engine as an extension of the LCF kernel, just one more rule of how to get theorems. In that instance, it is exactly the same. | |||||||||||||||||
| |||||||||||||||||
| ▲ | 4 days ago | parent | prev [-] | ||||||||||||||||
| [deleted] | |||||||||||||||||