� 1 ALEXANDER BENTKAMP JASMIN BLANCHETTE SIMON CRUANES UWE WALDMANN SUPERPOSITION FOR LAMBDA-FREE HIGHER-ORDER LOGIC
Motivation: Sledgehammer � 2 Proof goal from Isabelle Fact selection Translation to FOL A complete HO superposition LEO-II/III Satallax prover Superposition provers SMT provers Proof reconstruction Proof text in Isabelle
DESIGN PRINCIPLE: BE GRACEFUL � 3 HO superposition on first-order problems should coincide with FO superposition
Our way to higher-order superposition � 4 HOL predicate-free HOL boolean formulas nested in terms λ -free HOL / λ -expressions / applicative FOL comprehension axioms partial application FOL & applied variables
Translation to FOL: applicative encoding � 5 f ( H f) app(f, app( H , f)) is translated to λ -free HOL FOL NOT GRACEFUL!
Term orders for λ -free HOL � 6 Compatibility with arguments? t > s ⇒ t u > s u KBO without argument KBO with argument coefficients coefficients LPO Yes: No: Petar’s talk This talk
The superposition rule � 7 D ∨ t = t’ C ∨ (¬) s[u] = s’ σ = mgu(t,u) (D ∨ C ∨ (¬) s[t’] = s’) σ + order conditions
Superposition only at argument subterms � 8 f a (h b c) Argument subterms: f a (h b c) Prefix subterms: g = f g a ≠ b S UP f a ≠ b
Argument congruence rule � 9 C ∨ t = s A RG C ONG C ∨ t X = s X Example: g = f A RG C ONG g X = f X g a ≠ b S UP f a ≠ b
Argument congruence rule � 10 C ∨ t = s A RG C ONG C ∨ t X = s X BUT ISN’T THIS RULE ALWAYS REDUNDANT?
Floor encoding � 11 Encode ground λ -free HOL terms into FOL: ⎣ f ⎦ = f 0 ⎣ f a ⎦ = f 1 (a 0 ) Redundancy is defined with respect to this encoding.
Floor encoding � 12 Example: g 0 = f 0 g = f A RG C ONG g 1 a 0 = f 1 a 0 g X = f X Not redundant!
What changes in the proof? � 13 Refutational completeness: Let N be saturated up to redundancy, ⊥∉ N. Then N has a model. Proof sketch for FOL: N model of N G(N) model of G(N) model construction
What changes in the proof? � 14 Refutational completeness: Let N be saturated up to redundancy, ⊥∉ N. Then N has a model. Proof sketch for λ -free HOL: N model of N G(N) model of G(N) ⎣ G(N) ⎦ model of ⎣ G(N) ⎦ model construction
Issue: superposition at variables � 15 Example: C = … X … X a … Given g > f, it is unclear whether X := g or X := f will yield the smaller clause Solution #1: Solution #2: purifying calculus nonpurifying calculus … X u ̅ … X v ̅ … Perform superpositions at variables if the order situation is unclear is purified to … X u ̅ … Y v ̅ … ∨ X ≠ Y if u ̅ ≠ v ̅
Evaluation of our prototype � 16 using the Zipperposition theorem prover Judgment Day TPTP benchmarks λ -free HOL benchmarks # unsat FO HO 32 facts 512 facts 181 - - - first-order mode 151 677 873 843 applicative encoding 180 647 851 908 purifying calculus 179 669 866 889 nonpurifying calculus
In summary � 17 ‣ We developed refutationally complete calculi for λ -free HOL ‣ They reduce the gap between HO proof assistants and superposition provers ‣ They are promising as a stepping stone towards a HO superposition calculus
Recommend
More recommend