Results 1 
6 of
6
Higherorder Annotated Terms for Proof Search
 THEOREM PROVING IN HIGHER ORDER LOGICS: 9TH INTERNATIONAL CONFERENCE, TPHOLS’96
, 1996
"... A notion of embedding appropriate to higherorder syntax is described. This provides a representation of annotated formulae in terms of the difference between pairs of formulae. We define substitution and unification for such annotated terms. Using this representation of annotated terms, the proof s ..."
Abstract

Cited by 20 (3 self)
 Add to MetaCart
A notion of embedding appropriate to higherorder syntax is described. This provides a representation of annotated formulae in terms of the difference between pairs of formulae. We define substitution and unification for such annotated terms. Using this representation of annotated terms, the proof search guidance technique of rippling can be extended to higherorder theorems. We illustrate this by several examples based on an implementation of these ideas in Prolog.
A Generic Approach To Program Extraction
"... over "sobj"  representation of a sequence of formulae *) fun abssobj t = Abs("sobj", Type("sobj",[]), t); (*Representation of empty sequence*) val Sempty = abssobj (Bound 0); fun seqobjtr(Const("@SeqId",)$id) = id  seqobjtr(Const("@SeqVar", ..."
Abstract
 Add to MetaCart
over "sobj"  representation of a sequence of formulae *) fun abssobj t = Abs("sobj", Type("sobj",[]), t); (*Representation of empty sequence*) val Sempty = abssobj (Bound 0); fun seqobjtr(Const("@SeqId",)$id) = id  seqobjtr(Const("@SeqVar",)$id) = id  seqobjtr(Const("@Proof",dummyT)$p) = (Const("Proof",dummyT)$p)  seqobjtr(fm) = Const("Seqof",dummyT)$fm; fun seqtr($obj$seq) = seqobjtr(obj)$seqtr(seq)  seqtr() = Bound 0; fun seqtr1(Const("@MtSeq",)) = Sempty  seqtr1(seq) = abssobj(seqtr seq); fun truetr[s1,s2] = Const("Trueprop",dummyT)$seqtr1 s1$seqtr1 s2; 9.3. CONCLUSION 91 fun seqobjtr'(Const("Seqof",)$fm) = fm  seqobjtr'(Const("Proof",dummyT)$p) = Const("@Proof",dummyT)$p  seqobjtr'(id) = Const("@SeqId",dummyT)$id; fun seqtr'(obj$sq,C) = let val sq' = case sq of Bound 0 =? Const("@MtSeqCont",dummyT)  =? seqtr'(sq,Const("@SeqCont",dummyT)) in C $ seqobjtr' obj $ sq' end; fun seqtr1'(Bound 0) = Const("@MtSeq",dummyT)  seqtr1' s = seq...
Centre for Intelligent Systems and their Applications
, 2007
"... As functions which further the state of a proof in automated theorem proving, tactics are an important development in automated deduction. This thesis describes a method to tackle the problem of tactic formation. Tactics must currently be developed by hand, which can be a complicated and timeconsum ..."
Abstract
 Add to MetaCart
As functions which further the state of a proof in automated theorem proving, tactics are an important development in automated deduction. This thesis describes a method to tackle the problem of tactic formation. Tactics must currently be developed by hand, which can be a complicated and timeconsuming process. A method is presented for the automatic production of useful tactics. The method presented works on the principle that commonly occurring patterns within proof corpora may have some significance and could therefore be exploited to provide novel tactics. These tactics are discovered using a three step process. Firstly a suitable corpus is chosen and processed. One example of a suitable corpus is that of the Isabelle theorem prover. A number of possible abstractions are presented for this corpus. Secondly, machine learning techniques are used to datamine each corpus and find sequences of commonly occurring proof steps. The specifics of a proof step are defined by the specified abstraction.