Content deleted Content added
mNo edit summary Tags: Mobile edit Mobile app edit iOS app edit |
No edit summary |
||
(6 intermediate revisions by 6 users not shown) | |||
Line 1:
{{Short description|1970s automated theorem prover}}
{{see also|Logic of Computable Functions}}
'''Logic for Computable Functions''' ('''LCF''') is an interactive [[automated theorem prover]] developed at [[Stanford University|Stanford]] and [[University of Edinburgh|Edinburgh]] by [[Robin Milner]] and collaborators in early 1970s, based on the theoretical foundation of [[Logic of Computable Functions|logic
== Basic idea ==
Line 15:
=== Trusted computing base ===
The implementation of the underlying ML compiler adds to the [[trusted computing base]]. Work on CakeML<ref name="cakeml">{{cite web |title=CakeML |url=https://cakeml.org/ |access-date=2 November 2019}}</ref> resulted in a formally verified ML compiler, alleviating some of these concerns.
=== Efficiency and complexity of proof procedures ===
Theorem proving often benefits from decision procedures and theorem proving algorithms, whose correctness has been extensively analyzed. A straightforward way of implementing these procedures in an LCF approach requires such procedures to always derive outcomes from the axioms, lemmas, and inference rules of the system, as opposed to directly computing the outcome. A potentially more efficient approach is to use reflection to prove that a function operating on formulas always gives correct result.<ref>{{cite report |last1=Boyer |first1=Robert S |last2=Moore |first2=J Strother |title=Metafunctions: Proving Them Correct and Using Them Efficiently as New Proof Procedures |publisher=Technical Report CSL-108, SRI Projects 8527/4079 |pages=
== Influences ==
Among subsequent implementations is Cambridge LCF. Later systems simplified the logic to use total instead of partial functions, leading to [[HOL (proof assistant)|HOL]], [[HOL Light]], and the [[Isabelle proof assistant]] that supports various logics. As of 2019, the Isabelle [[proof assistant]] still contains an implementation of an LCF logic, Isabelle/LCF.
== Notes ==
Line 31:
{{Refbegin}}
* {{cite book
}}
* {{cite book
|pages=169–185
|publisher=MIT Press
|___location=Cambridge, |date=2000 |isbn=0-262-16188-5
|access-date=2007-10-11}}
* {{cite book
* {{cite manual
* {{cite book
{{Refend}}
{{
[[Category:Logic in computer science]]
[[Category:Proof assistants]]
{{Mathlogic-stub}}
|