Superposition with Lambdas Alexander Bentkamp Jasmin Blanchette - - PowerPoint PPT Presentation

superposition with lambdas
SMART_READER_LITE
LIVE PREVIEW

Superposition with Lambdas Alexander Bentkamp Jasmin Blanchette - - PowerPoint PPT Presentation

Superposition with Lambdas Alexander Bentkamp Jasmin Blanchette Sophie Tourret Petar Vukmirovi Uwe Waldmann 1 Motivation: Sledgehammer Proof goal from Isabelle Fact selection Translation to FOL A complete HO LEO-II/III


slide-1
SLIDE 1

Superposition with Lambdas

Alexander Bentkamp Jasmin Blanchette Sophie Tourret Petar Vukmirović Uwe Waldmann

1

slide-2
SLIDE 2

Motivation: Sledgehammer

Fact selection Translation to FOL Superposition provers Proof reconstruction Proof goal 
 from Isabelle Proof text
 in Isabelle LEO-II/III Satallax A complete HO superposition prover SMT provers

2

slide-3
SLIDE 3

Milestones towards HOL

FOL λ-free HOL / applicative FOL Boolean-free HOL HOL

partial application 
 & applied variables λ-expressions /
 comprehension 
 axioms boolean formulas 
 nested in terms

3

slide-4
SLIDE 4

Challenges

No ground-total simplification order

#1 #2 #3

Higher-order unification Superposition below applied variables

4

slide-5
SLIDE 5

Higher-Order Unification

Undecidability & no most general unifier Our approach: dovetailing Flex-flex pairs Huet’s preunification algorithm requires constrained clauses Our approach: Jensen & Pietrzykowski’s algorithm Future work: More efficient unification algorithms
 (complete or incomplete)

#1

5

slide-6
SLIDE 6

Applied Variables

f a = c h (X a) (X b) ≠ h (g c) (g (f b)) h (g (f a)) (g (f b)) ≠ h (g c) (g (f b))

Unsatisfiable because:

X ↦ λu. g (f u) = c

yields Superposition 
 “half below” a variable?

#2

6

slide-7
SLIDE 7

f a = c h (X a) (X b) ≠ h (g c) (g (f b)) Y (f a) = Y c

add artificial
 context

h (Z a c c) (Z b (f b) (f a)) ≠ h (g c) (g (f b))

Unifier of Y (f a) and X a : 
 Y ↦ λu. Z a u u
 X ↦ λv. Z v (f v) (f a)

superpose This is a new inference rule: FluidSup

#2 Applied Variables

7

slide-8
SLIDE 8

(λx. x) > (λx. b) (λx. x) < (λx. b)

  • r

? a = (λx. x) a > (λx. b) a = b

Then, by compatibility with contexts:

c = (λx. x) c < (λx. b) c = b

Then, by compatibility with contexts:

#3 No Ground-Total

Simplification Order

8

slide-9
SLIDE 9

Our solution: 
 Compatibility only with green contexts f (g a) (Y b) (λx. h c (g x))

no prefix 
 subterms not below applied variables not below λs

No Ground-Total Simplification Order

#3

Superposition only at green subterms
 ArgCong, FluidSup, and the extensionality axiom access other subterms

9

slide-10
SLIDE 10

Our Calculus

X (diff X Y) ≠ Y (diff X Y) ∨ X = Y C ∨ s = t C ∨ (sσ) X̅ = (tσ) X̅

ArgCong

D ∨ t = t’ C ∨ [¬] s[u] = s’ (D ∨ C ∨ [¬] s[t’] = s’)σ

Sup σ∈CSU(t,u)

C ∨ s’ = t’ ∨ s = t (C ∨ t ≠ t’ ∨ s = t’)σ

EqFact σ∈CSU(s,s’)

C ∨ s ≠ t Cσ

EqRes σ∈CSU(s,t)

D ∨ t = t’ C ∨ [¬] s[u] = s’ (D ∨ C ∨ [¬] s[Z t’] = s’)σ

FluidSup σ∈CSU(Z t,u) Ext

All clauses are kept in β-normal η-short form.

10

slide-11
SLIDE 11

Evaluation in Zipperposition

175 350 525 700

λ-free TPTP Sledgehammer (256 facts) Sledgehammer (16 facts)

λfree-Zip λZip-full λZip-pragmatic

Comparison with λ-free Superposition

Number of solved problems

λfree-Zip (λ-lifted) λZip-full λZip-pragmatic λfree-Zip (λ-lifted) λZip-full λZip-pragmatic

11

slide-12
SLIDE 12

Evaluation in Zipperposition

175 350 525 700

Boolean-free TPTP Sledgehammer (256 facts) Sledgehammer (16 facts)

Leo-III Leo-III-meta Satallax Satallax-meta λZip-full λZip-pragmatic

Comparison with other higher-order provers

Number of solved problems

Leo-III Leo-III-meta Satallax Satallax-meta λZip-full λZip-pragmatic Leo-III Leo-III-meta Satallax Satallax-meta λZip-full λZip-pragmatic

12

slide-13
SLIDE 13

Summary

Complete superposition calculus for Boolean-free HOL Promising experimental results for an incomplete variant

  • f this calculus

Many remaining challenges: First-class Boolean type More efficient unification More efficient treatment of extensionality More efficient alternatives to FluidSup Implementation in E

13