Artificial Intelligence in Theorem Proving Cezary Kaliszyk VTSA - - PowerPoint PPT Presentation

artificial intelligence in theorem proving
SMART_READER_LITE
LIVE PREVIEW

Artificial Intelligence in Theorem Proving Cezary Kaliszyk VTSA - - PowerPoint PPT Presentation

Artificial Intelligence in Theorem Proving Cezary Kaliszyk VTSA Overview Last Lecture theorem proving problems premise selection deep learning for theorem proving state estimation Today automated reasoning learning in classical ATPs


slide-1
SLIDE 1

Artificial Intelligence in Theorem Proving

Cezary Kaliszyk

VTSA

slide-2
SLIDE 2

Overview

Last Lecture

theorem proving problems premise selection deep learning for theorem proving state estimation

Today

automated reasoning learning in classical ATPs learning for tableaux reinforcement learning in TP longer proofs

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 2 / 72

slide-3
SLIDE 3

What about ATPs

Proof by contradiction

Assume that the conjecture does not hold Derive that axioms and negated conjecture imply ⊥

Saturation

Convert problem to CNF Enumerate the consequences of the available clauses Goal: get to the empty clause

Redundancies

Simplify or eliminate some clauses (contract)

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 3 / 72

slide-4
SLIDE 4

Calculus

Resolution

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 4 / 72

slide-5
SLIDE 5

Calculus

Ordered Resolution

Aσ strictly maximal wrt Cσ and B maximal wrt Dσ.

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 4 / 72

slide-6
SLIDE 6

Calculus

Ordered Resolution

Aσ strictly maximal wrt Cσ and B maximal wrt Dσ. Equality axioms?

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 4 / 72

slide-7
SLIDE 7

Calculus

Ordered Resolution

Aσ strictly maximal wrt Cσ and B maximal wrt Dσ. Equality axioms?

Ordered Paramodulation

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 4 / 72

slide-8
SLIDE 8

Calculus

Ordered Resolution

Aσ strictly maximal wrt Cσ and B maximal wrt Dσ. Equality axioms?

Ordered Paramodulation

(s = t)σ and L[s′]σ′ maximal in their clauses.

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 4 / 72

slide-9
SLIDE 9

Completion

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 5 / 72

slide-10
SLIDE 10

Superposition Calculus

Basis of

E, Vampire, Spass, Prover9, ≈Metis

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 6 / 72

slide-11
SLIDE 11

Beyond the Calculus

Tautology Deletion

a ∨ b ∨ ¬a ∨ d

Subsumption (forward and backward)

e.g. E uses Feature Vector Indexing {C1, C2, C3, C4} {C3, C4} {C2}

1

{C1}

2

{C3} {C4}

2

{C2} {C1}

1

{C3} {C4} {C2}

1

{C1}

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 7 / 72

slide-12
SLIDE 12

Still...

fof(6, axiom,![X1]:![X2]:![X4]:gg(X1,sup_sup(X1,X2,X4)),file(’i/f/1/goal_138__Q_Restricted_Rewriting.qrstep fof(32, axiom,![X1]:![X2]:gg(set(product_prod(X1,X1)),transitive_rtrancl(X1,X2)),file(’i/f/1/goal_138__Q_Re fof(55, axiom,![X1]:![X19]:![X20]:(member(product_prod(X1,X1),X19,X20)=>member(product_prod(X1,X1),X19,tran fof(68, axiom,![X1]:![X5]:![X3]:![X36]:![X20]:![X37]:![X16]:(ord_less_eq(set(product_prod(X1,X3)),X36,X20)= fof(70, axiom,![X1]:![X20]:transitive_rtrancl(X1,transitive_rtrancl(X1,X20))=transitive_rtrancl(X1,X20),fil fof(74, axiom,![X1]:![X24]:![X34]:![X33]:((~(member(X1,X24,X34))=>member(X1,X24,X33))=>member(X1,X24,sup_su fof(78, axiom,![X1]:![X11]:![X13]:transitive_rtrancl(X1,sup_sup(set(product_prod(X1,X1)),transitive_rtrancl fof(79, axiom,![X1]:![X22]:![X39]:(member(X1,X22,collect(X1,X39))<=>pp(aa(X1,bool,X39,X22))),file(’i/f/1/go fof(85, axiom,![X1]:(semilattice_sup(X1)=>![X23]:![X24]:![X22]:(ord_less_eq(X1,sup_sup(X1,X23,X24),X22)<=>( fof(86, axiom,![X1]:![X11]:relcomp(X1,X1,X1,transitive_rtrancl(X1,X11),transitive_rtrancl(X1,X11))=transiti fof(98, axiom,![X1]:![X33]:![X34]:(gg(set(X1),X34)=>(ord_less_eq(set(X1),X33,X34)<=>sup_sup(set(X1),X33,X34 fof(99, axiom,![X1]:![X33]:![X34]:ord_less_eq(set(X1),X33,sup_sup(set(X1),X33,X34)),file(’i/f/1/goal_138__Q fof(100, axiom,![X3]:![X1]:supteq(X1,X3)=sup_sup(set(product_prod(term(X1,X3),term(X1,X3))),supt(X1,X3),id( fof(102, axiom,![X1]:![X34]:![X33]:ord_less_eq(set(X1),X34,sup_sup(set(X1),X33,X34)),file(’i/f/1/goal_138__ fof(103, axiom,![X1]:![X33]:![X18]:![X34]:(ord_less_eq(set(X1),X33,X18)=>(ord_less_eq(set(X1),X34,X18)=>ord fof(109, axiom,![X1]:![X34]:![X33]:(gg(set(X1),X33)=>(ord_less_eq(set(X1),X34,X33)=>sup_sup(set(X1),X33,X34 fof(114, axiom,![X1]:![X33]:![X18]:![X34]:![X48]:(ord_less_eq(set(X1),X33,X18)=>(ord_less_eq(set(X1),X34,X4 fof(116, axiom,![X1]:![X33]:ord_less_eq(set(X1),X33,X33),file(’i/f/1/goal_138__Q_Restricted_Rewriting.qrste fof(125, axiom,![X1]:![X24]:![X33]:![X34]:(member(X1,X24,X33)=>(~(member(X1,X24,X34))=>member(X1,X24,minus_ fof(127, axiom,![X1]:![X24]:![X33]:![X34]:(member(X1,X24,minus_minus(set(X1),X33,X34))=>~((member(X1,X24,X3 fof(131, axiom,![X1]:![X33]:(gg(set(X1),X33)=>collect(X1,aTP_Lamp_a(set(X1),fun(X1,bool),X33))=X33),file(’i fof(134, axiom,![X1]:(order(X1)=>![X35]:![X49]:((gg(X1,X35)&gg(X1,X49))=>(ord_less_eq(X1,X35,X49)=>(ord_les fof(136, axiom,![X1]:(preorder(X1)=>![X35]:![X49]:![X50]:(ord_less_eq(X1,X35,X49)=>(ord_less_eq(X1,X49,X50) fof(143, axiom,![X1]:![X33]:![X34]:(ord_less_eq(set(X1),X33,X34)<=>![X52]:(gg(X1,X52)=>(member(X1,X52,X33)= fof(160, axiom,![X1]:![X39]:![X35]:![X33]:(pp(aa(X1,bool,X39,X35))=>(member(X1,X35,X33)=>?[X30]:(gg(X1,X30) fof(171, axiom,![X1]:![X65]:![X66]:(pp(aa(X1,bool,aTP_Lamp_a(set(X1),fun(X1,bool),X65),X66))<=>member(X1,X6 fof(186, axiom,![X67]:semilattice_sup(set(X67)),file(’i/f/1/goal_138__Q_Restricted_Rewriting.qrsteps_comp_s fof(187, axiom,![X67]:preorder(set(X67)),file(’i/f/1/goal_138__Q_Restricted_Rewriting.qrsteps_comp_supteq_s

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 8 / 72

slide-13
SLIDE 13

Still the search space is huge: What can we learn?

What has been learned

CASC: Strategies AIM: Hints Hammers: Premises

What can be chosen in Superposition calculus

Term ordering (Negative) literal selection Clause selection

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 9 / 72

slide-14
SLIDE 14

E-Prover given-clause loop

Most important choice: unprocessed clause selection

[Schulz 2015]

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 10 / 72

slide-15
SLIDE 15

Learning for E: Data Collection

Mizar top-level theorems

[Urban 2006]

Encoded in FOF

32,521 Mizar theorems with ≥ 1 proof

training-validation split (90%-10%) replay with one strategy

Collect all CNF intermediate steps

and unprocessed clauses when proof is found

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 11 / 72

slide-16
SLIDE 16

Deep Network Architectures

Clause Embedder Negated conjecture embedder Concatenate Fully Connected (1024 nodes) Fully Connected (1 node) Logistic loss Clause tokens Negated conjecture tokens

Conv 5 (1024) + ReLU Input token embeddings Conv 5 (1024) + ReLU Conv 5 (1024) + ReLU Max Pooling

Overall network Convolutional Embedding Non-dilated and dilated convolutions

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 12 / 72

slide-17
SLIDE 17

Recursive Neural Networks

Curried representation of first-order statements Separate nodes for apply, or, and, not Layer weights learned jointly for the same formula Embeddings of symbols learned with rest of network Tree-RNN and Tree-LSTM models1

1Relation to graphs

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 13 / 72

slide-18
SLIDE 18

Model accuracy

Model Embedding Size Accuracy: 50-50% split Tree-RNN-256×2 256 77.5% Tree-RNN-512×1 256 78.1% Tree-LSTM-256×2 256 77.0% Tree-LSTM-256×3 256 77.0% Tree-LSTM-512×2 256 77.9% CNN-1024×3 256 80.3% ⋆CNN-1024×3 256 78.7% CNN-1024×3 512 79.7% CNN-1024×3 1024 79.8% WaveNet-256×3×7 256 79.9% ⋆WaveNet-256×3×7 256 79.9% WaveNet-1024×3×7 1024 81.0% WaveNet-640×3×7(20%) 640 81.5% ⋆WaveNet-640×3×7(20%) 640 79.9% ⋆ = train on unprocessed clauses as negative examples

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 14 / 72

slide-19
SLIDE 19

Improving Proof Search inside E

Overview

Processed Clauses Unprocessed Clauses Select one Using a deep neural network Superposition

Problem

Deep neural network evaluation is slow Slower than combining selected clause with all processed clauses2

2State of 2016

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 15 / 72

slide-20
SLIDE 20

Hybrid heuristic

Optimizations for performance

Batching Combining TF with auto

102 103 104 105 Processed clause limit 0% 20% 40% 60% 80% 100% Percent unproved

Pure CNN Hybrid CNN Pure CNN; Auto Hyrbid CNN; Auto

102 103 104 105 Processed clause limit 0% 20% 40% 60% 80% 100% Percent unproved

Auto WaveNet 640* WaveNet 256 WaveNet 256* WaveNet 640 CNN CNN*

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 16 / 72

slide-21
SLIDE 21

Harder Mizar top-level statements

Model DeepMath 1 DeepMath 2 Union of 1 and 2 Auto 578 581 674 ⋆WaveNet 640 644 612 767 ⋆WaveNet 256 692 712 864 WaveNet 640 629 685 997 ⋆CNN 905 812 1,057 CNN 839 935 1,101 Total (unique) 1,451 1,458 1,712 Overall proved 7.4% of the harder statements

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 17 / 72

slide-22
SLIDE 22

Harder Mizar top-level statements

Model DeepMath 1 DeepMath 2 Union of 1 and 2 Auto 578 581 674 ⋆WaveNet 640 644 612 767 ⋆WaveNet 256 692 712 864 WaveNet 640 629 685 997 ⋆CNN 905 812 1,057 CNN 839 935 1,101 Total (unique) 1,451 1,458 1,712 Overall proved 7.4% of the harder statements

Batching and hybrid necessary Model accuracy unsatisfactory

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 17 / 72

slide-23
SLIDE 23

ENIGMA

[Jakubuv,Urban 2017]

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 18 / 72

slide-24
SLIDE 24

ENIGMA

[Jakubuv,Urban 2017]

Evaluation on AIM E’s auto-schedule: 261 Single best strategy: 239

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 18 / 72

slide-25
SLIDE 25

ENIGMA

[Jakubuv,Urban 2017]

Evaluation on AIM E’s auto-schedule: 261 Single best strategy: 239

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 18 / 72

slide-26
SLIDE 26

ENIGMA

[Jakubuv,Urban 2017]

Evaluation on AIM E’s auto-schedule: 261 Single best strategy: 239 Different trained models: 337 Accuracy: 97.6% Looping and boosting Still in 30s: best trained strategy: 318

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 18 / 72

slide-27
SLIDE 27

Automated Theorem Proving

Historical dispute: Gentzen and Hilbert

Today two communities: Resolution (-style) and Tableaux

Possible answer: What is better in practice?

Say the CASC competition or ITP libraries? Since the late 90s: resolution (superposition)

But still so far from humans?

We can do learning much better for Tableaux And with ML beating brute force search in games, maybe?

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 19 / 72

slide-28
SLIDE 28

leanCoP: Lean Connection Prover

[Otten 2010]

Connected tableaux calculus

Goal oriented, good for large theories

Regularly beats Metis and Prover9 in CASC (ATP Systems Competition)

despite their much larger implementation

Compact Prolog implementation, easy to modify

Variants for other foundations: iLeanCoP, mLeanCoP First experiments with machine learning: MaLeCoP

Easy to imitate

leanCoP tactic in HOL Light

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 20 / 72

slide-29
SLIDE 29

Lean connection Tableaux

Very simple rules:

Extension unifies the current literal with a copy of a clause Reduction unifies the current literal with a literal on the path

{}, M, Path Axiom C, M, Path ∪ {L2} C ∪ {L1}, M, Path ∪ {L2} Reduction C2 \ {L2}, M, Path ∪ {L1} C, M, Path C ∪ {L1}, M, Path Extension

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 21 / 72

slide-30
SLIDE 30

Example lean connection proof

Clauses: c1 : P(x) c2 : R(x, y) ∨ ¬P(x) ∨ Q(y) c3 : S(x) ∨ ¬Q(b) c4 : ¬S(x) ∨ ¬Q(x) c5 : ¬Q(x) ∨ ¬R(a, x) c6 : ¬R(a, x) ∨ Q(x) Tableau: P(a) R(a, b) ¬R(a, b) Q(b) ¬Q(b) ¬R(a, b) ¬P(a) Q(b) S(b) ¬S(b) ¬Q(b) ¬Q(b)

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 22 / 72

slide-31
SLIDE 31

leanCoP Example

[Otten’15]

Formula to prove: DNF: Matrix: Tableaux:

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 23 / 72

slide-32
SLIDE 32

leanCoP: Basic Code

1 prove ([ Lit|Cla],Path ,PathLim ,Lem ,Set) :- 2 3 (-NegLit=Lit;-Lit=NegLit) -> 4 ( 5 6 7 member(NegL ,Path),unify_with_occurs_check (NegL ,NegLit) 8 ; 9 lit(NegLit ,NegL ,Cla1 ,Grnd1), 10 unify_with_occurs_check (NegL ,NegLit), 11 12 13 14 prove(Cla1 ,[ Lit|Path],PathLim ,Lem ,Set) 15 ), 16 17 prove(Cla ,Path ,PathLim ,Lem ,Set). 18 prove ([],_,_,_,_).

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 24 / 72

slide-33
SLIDE 33

leanCoP: Actual Code (Optimizations, No history)

1 prove ([ Lit|Cla],Path ,PathLim ,Lem ,Set) :- 2 \+ (member(LitC ,[ Lit|Cla ]), member(LitP ,Path),LitC == LitP), 3 (-NegLit=Lit;-Lit=NegLit) -> 4 ( 5 member(LitL ,Lem), Lit == LitL 6 ; 7 member(NegL ,Path),unify_with_occurs_check (NegL ,NegLit) 8 ; 9 lit(NegLit ,NegL ,Cla1 ,Grnd1), 10 unify_with_occurs_check (NegL ,NegLit), 11 ( Grnd1=g -> true ; 12 length(Path ,K), K<PathLim

  • > true ;

13 \+ pathlim

  • > assert(pathlim), fail ),

14 prove(Cla1 ,[ Lit|Path],PathLim ,Lem ,Set) 15 ), 16 ( member(cut ,Set) -> ! ; true ), 17 prove(Cla ,Path ,PathLim ,[ Lit|Lem],Set). 18 prove ([],_,_,_,_).

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 25 / 72

slide-34
SLIDE 34

First experiment: MaLeCoP in Prolog

[Tableaux 2011]

Select extension steps

Using external advice

Slow implementation

1000 less inf per second

Can avoid 90% inferences! Important: Strategies

leanCoP cache

advisor Other provers SNoW learning system

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 26 / 72

slide-35
SLIDE 35

What about efficiency: FEMaLeCoP

[LPAR 2015]

Advise the:

selection of clause for every tableau extension step

Proof state: weighted vector of symbols (or terms)

extracted from all the literals on the active path Frequency-based weighting (IDF) Simple decay factor (using maximum)

Consistent clausification

formula ?[X]: p(X) becomes p(’skolem(?[A]:p(A),1)’)

Predictor: Custom sparse naive Bayes

association of the features of the proof states with contrapositives used for the successful extension steps

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 27 / 72

slide-36
SLIDE 36

FEMaLeCoP: Data Collection and Indexing

Extension of the saved proofs

Training Data: pairs (path, used extension step)

External Data Indexing (incremental)

te num: number of training examples pf no: map from features to number of occurrences ∈ Q cn no: map from contrapositives to numbers of occurrences cn pf no: map of maps of cn/pf co-occurrences

Problem Specific Data

Upon start FEMaLeCoP reads

  • nly current-problem relevant parts of the training data

cn no and cn pf no filtered by contrapositives in the problem pf no and cn pf no filtered by possible features in the problem

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 28 / 72

slide-37
SLIDE 37

Efficient Relevance (1/2)

Estimate the relevance of each contrapositive ϕ by P(ϕ is used in a proof in state ψ | ψ has features F(γ)) where F(γ) are the features of the current path.

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 29 / 72

slide-38
SLIDE 38

Efficient Relevance (1/2)

Estimate the relevance of each contrapositive ϕ by P(ϕ is used in a proof in state ψ | ψ has features F(γ)) where F(γ) are the features of the current path. Assuming the features are independent, this is: P(ϕ is used in ψ’s proof) ·

  • f ∈F(γ)∩F(ϕ) P
  • ψ has feature f | ϕ is used in ψ’s proof
  • ·
  • f ∈F(γ)−F(ϕ) P
  • ψ has feature f | ϕ is not used in ψ’s proof
  • ·
  • f ∈F(ϕ)−F(γ) P
  • ψ does not have f | ϕ is used in ψ’s proof
  • Cezary Kaliszyk

Artificial Intelligence in Theorem Proving 29 / 72

slide-39
SLIDE 39

Efficient Relevance (2/2)

All these probabilities can be estimated (using training examples):

σ1 ln t +

  • f ∈(f ∩s)

i(f ) ln σ2s(f ) t + σ3

  • f ∈(f −s)

i(f ) + σ4

  • f ∈(s−f )

i(f ) ln(1 − s(f ) t )

where f are the features of the path s are the features that co-occurred with ϕ t = cn no(ϕ) s = cn fp no(ϕ) i is the IDF σ∗ are experimentally chosen parameters

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 30 / 72

slide-40
SLIDE 40

Inference speed ... drops to about 40%

Prover Proved (%) OCaml-leanCoP 574 (27.6%) FEMaLeCoP 635 (30.6%) together 664 (32.0%) (evaluation on MPTP bushy problems, 60 s) On various datasets, 3–15% problems more solved than leanCoP (run for double the time)

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 31 / 72

slide-41
SLIDE 41

What about stronger learning?

Yes, but...

[Michalewski 2017]

If put directly, huge times needed Still improvement small NBayes vs XGBoost on 2h timeout

Preliminary experiments with deep learning

[Olˇ sak 2017]

So far too slow

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 32 / 72

slide-42
SLIDE 42

Is theorem proving just a maze search?

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 33 / 72

slide-43
SLIDE 43

Is theorem proving just a maze search?

Yes and NO!

The proof search tree is not the same as the tableau tree! Unification can cause other branches to disappear.

Can we provide a tree search like interface?

Two functions suffice start : problem → state action : action → state where state = action list × remaining goal-paths

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 33 / 72

slide-44
SLIDE 44

Is it ok to change the tree?

Most learning for games sticks to game dynamics

Only tell it how to do the moves

Why is it ok to skip other branches

Theoretically ATP calculi are complete Practically most ATP strategies incomplete

In usual 30s – 300s runs

Depth of proofs with backtracking: 5–7 (complete) Depth with restricted backtracking: 7–10 (more proofs found!)

But with random playouts: depth hundreds of thousands!

Just unlikely to find a proof → learning

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 34 / 72

slide-45
SLIDE 45

Monte Carlo First Try: monteCoP

Use Monte Carlo playouts to guide restricted backtracking

Improves on leanCoP, but not by a big margin Potential still limited by depth

20 40 60 80 100 120 140 450 460 470 480 490 500 maxIterations Problems solved 20 40 60 80 100 120 140 100 150 200 250 300 350 smax Problems solved Cezary Kaliszyk Artificial Intelligence in Theorem Proving 35 / 72

slide-46
SLIDE 46

“Simple” learning in leanCoP

FEMaLeCoP: Speed: 40%

On various datasets, 3–15% problems more solved than leanCoP

XGBoost: Speed: 8%

But more precise and again small improvement

Monte Carlo

Improves on leanCoP, but not by a big margin Change in game moves More inspiration from games?

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 36 / 72

slide-47
SLIDE 47

AlphaZero (1/3)

[Silver et al.]

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 37 / 72

slide-48
SLIDE 48

AlphaZero (2/3)

[Silver et al.]

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 38 / 72

slide-49
SLIDE 49

AlphaZero (3/3)

[Silver et al.]

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 39 / 72

slide-50
SLIDE 50

How to select the best action?

[Szepesvari 2006]

Intuition

Given some prior probabilities And having done some experiments Which action to take? (later extended to sequences of actions in a tree)

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 40 / 72

slide-51
SLIDE 51

How to select the best action?

[Szepesvari 2006]

Intuition

Given some prior probabilities And having done some experiments Which action to take? (later extended to sequences of actions in a tree) wi ni average reward pi action i prior N number of experiments ni action i experiments

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 40 / 72

slide-52
SLIDE 52

How to select the best action?

[Szepesvari 2006]

Intuition

Given some prior probabilities And having done some experiments Which action to take? (later extended to sequences of actions in a tree)

Monte Carlo Tree Search with Upper Confidence Bounds for Trees

Select node n maximizing wi ni + c · pi ·

  • ln N

ni where wi ni average reward pi action i prior N number of experiments ni action i experiments

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 40 / 72

slide-53
SLIDE 53

MCTS tree for WAYBEL 0:28

r=0.3099 n=1182 Tableaux starting axiom p=0.24 r=0.3501 n=548 p=0.21 r=0.1859 n=28

...

p=0.10 r=0.2038 n=9

...

p=0.13 r=0.2110 n=14

...

p=0.14 r=0.2384 n=21

...

p=0.14 r=0.3370 n=181

...

p=0.20 r=0.3967 n=279 p=0.30 r=0.1368 n=14

...

p=0.15 r=0.0288 n=2

...

p=0.56 r=0.4135 n=262 p=0.66 r=0.4217 n=247

36 more MCTS tree levels until proved

Subset(c2, powerset(carrier(c1)) p=0.18 r=0.2633 n=8

...

p=0.17 r=0.2554 n=6

...

Subset(union(c2),carrier(c1)) upper(c1) p=0.08 r=0.1116 n=3

...

RelStr(c1) p=0.19 r=0.2289 n=58

...

p=0.22 r=0.1783 n=40

...

p=0.35 r=0.2889 n=536

...

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 41 / 72

slide-54
SLIDE 54

Learn Policy and Value

Policy: Which actions to take?

Proportions predicted based on proportions in similar states

Value: How good (close to a proof) is a state?

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 42 / 72

slide-55
SLIDE 55

Learn Policy and Value

Policy: Which actions to take?

Proportions predicted based on proportions in similar states Explore less the actions that were “bad” in the past Explore more and earlier the actions that were “good”

Value: How good (close to a proof) is a state?

Reward states that have few goals Reward easy goals

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 42 / 72

slide-56
SLIDE 56

Learn Policy and Value

Policy: Which actions to take?

Proportions predicted based on proportions in similar states Explore less the actions that were “bad” in the past Explore more and earlier the actions that were “good”

Value: How good (close to a proof) is a state?

Reward states that have few goals Reward easy goals

Where to get training data?

Explore 1000 nodes using UCT Select the most visited action and focus on it for this proof A sequence of selected actions can train both policy and value

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 42 / 72

slide-57
SLIDE 57

Mizar TPTP problems: train (29272) and test (3252) sets

Baseline

System leanCoP playouts UCT Test 1143 431 804

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 43 / 72

slide-58
SLIDE 58

Mizar TPTP problems: train (29272) and test (3252) sets

Baseline

System leanCoP playouts UCT Test 1143 431 804

10 iterations

Iteration 1 2 3 4 5 Test 1354 1519 1566 1595 1624

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 43 / 72

slide-59
SLIDE 59

Mizar TPTP problems: train (29272) and test (3252) sets

Baseline

System leanCoP playouts UCT Train 10438 4184 7348 Test 1143 431 804

10 iterations

Iteration 1 2 3 4 5 6 7 8 9 10 Train 12325 13749 14155 14363 14403 14431 14342 14498 14481 14487 Test 1354 1519 1566 1595 1624 1586 1582 1591 1577 1621

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 43 / 72

slide-60
SLIDE 60

Mizar TPTP problems: train (29272) and test (3252) sets

Baseline

System leanCoP playouts UCT Train 10438 4184 7348 Test 1143 431 804

10 iterations

Iteration 1 2 3 4 5 6 7 8 9 10 Train 12325 13749 14155 14363 14403 14431 14342 14498 14481 14487 Test 1354 1519 1566 1595 1624 1586 1582 1591 1577 1621

More Time

leanCoP, 4M inferences, strategies 1396 rlCoP union 1839

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 43 / 72

slide-61
SLIDE 61 n0 p=1.00 r=0.3944 v=1386 p=0.08 r=0.0621 v=3 p=0.08 r=0.1048 v=5 p=0.08 r=0.0544 v=3 p=0.09 r=0.0712 v=4 p=0.08 r=0.0443 v=3 p=0.26 r=0.4016 v=1356 p=0.07 r=0.0504 v=2 p=0.07 r=0.0628 v=3 p=0.08 r=0.0544 v=3 p=0.08 r=0.0660 v=3 p=0.38 r=0.0518 v=1 p=0.47 r=0.0774 v=1 p=0.14 ..58.. ..61.. p=0.37 r=0.0942 v=2 p=0.47 r=0.1391 v=2 p=0.16 ..57.. p=0.03 r=0.0615 v=1 ..58.. p=0.02 r=0.1099 v=1 ..60.. ..62.. p=0.29 r=0.0448 v=1 p=0.36 r=0.0613 v=1 ..2.. ..58.. ..61.. p=0.75 r=0.0367 v=3 p=0.25 p=0.02 r=0.0214 v=2 ..60.. p=0.03 ..61.. p=0.27 p=0.73 r=0.0353 v=2 p=0.03 r=0.0212 v=1 ..60.. ..62.. p=0.68 r=0.4067 v=1322 p=0.32 r=0.2054 v=33 p=0.31 r=0.1136 v=28 p=0.09 r=0.0297 v=2 p=0.16 r=0.4148 v=1288 p=0.11 r=0.0595 v=3 ..5.. p=0.52 r=0.1158 v=27 ..6.. p=0.89 r=0.1145 v=26 p=0.11 p=0.09 p=0.91 r=0.1138 v=25 p=0.91 r=0.1131 v=24 p=0.09 p=0.10 p=0.90 r=0.1109 v=23 p=0.88 r=0.1086 v=22 p=0.12 p=0.89 r=0.1055 v=21 p=0.11 p=0.89 r=0.1021 v=20 p=0.11 p=0.90 r=0.0959 v=19 p=0.10 p=0.11 p=1.00 r=0.0838 v=17 STEPS:2 p=0.07 r=0.0144 v=1 p=0.50 r=0.0703 v=10 p=0.23 r=0.0250 v=2 p=0.21 r=0.1899 v=3 ..4.. p=0.64 r=0.0922 v=7 p=0.36 r=0.0109 v=2 p=0.58 p=0.42 r=0.1138 v=5 ..8.. p=0.32 r=0.1340 v=3 p=0.32 r=0.1593 v=1 p=0.57 r=0.1177 v=2 p=0.43 p=0.38 p=0.62 ..2.. ..8.. p=0.06 r=0.0121 v=1 ..7.. ..3.. p=0.04 r=0.0097 v=1 ..4.. p=0.56 r=0.1736 v=2 p=0.44 p=0.57 p=0.43 p=0.23 r=0.0347 v=1 ..2.. ..6.. ..6.. p=0.05 r=0.0376 v=1 p=0.45 r=0.4158 v=1284 p=0.10 r=0.0641 v=2 ..7.. p=0.13 r=0.4095 v=32 p=0.87 r=0.4161 v=1251 p=0.09 r=0.0166 v=1 p=0.91 r=0.4329 v=30 ..2.. ..2.. p=0.09 r=0.5188 v=1 p=0.71 r=0.4312 v=28 ..3.. ..2.. p=0.80 r=0.4263 v=27 p=0.10 p=0.90 r=0.4194 v=26 p=0.90 r=0.4119 v=25 p=0.10 p=0.10 p=0.90 r=0.4029 v=24 p=0.14 p=0.86 r=0.3925 v=23 p=0.87 r=0.3791 v=22 p=0.13 p=0.13 p=0.87 r=0.3636 v=21 p=0.88 r=0.3429 v=20 p=0.12 p=0.13 p=0.87 r=0.3194 v=19 p=0.27 r=0.1444 v=2 p=0.73 r=0.3383 v=16 p=0.50 p=0.50 p=0.38 r=0.3240 v=15 ..8.. ..6.. p=0.08 r=0.4829 v=1 p=0.50 r=0.3151 v=13 ..9.. p=0.14 p=1.00 r=0.3028 v=11 STEPS:2 p=0.19 p=0.05 r=0.2163 v=1 p=0.46 r=0.3041 v=6 p=0.30 r=0.3181 v=3 ..4.. p=0.69 r=0.2876 v=5 ..2.. p=0.18 p=0.82 r=0.2565 v=4 p=0.30 r=0.3362 v=1 p=0.70 r=0.1728 v=2 ..58.. ..2.. p=0.11 r=0.1136 v=1 ..58.. p=0.38 p=0.62 r=0.2401 v=2 p=0.62 p=0.38 p=0.10 r=0.1064 v=2 p=0.90 r=0.4168 v=1248 ..3.. p=0.07 r=0.0220 v=1 ..4.. p=0.12 r=0.0475 v=2 p=0.88 r=0.4175 v=1245 p=0.92 p=0.08 r=0.0132 v=1 ..2.. p=0.10 r=0.0883 v=2 p=0.90 r=0.4182 v=1242 p=0.05 r=0.0185 v=1 ..3.. ..4.. p=0.85 r=0.4193 v=1217 p=0.15 r=0.3694 v=24 p=0.14 r=0.3774 v=23 p=0.86 r=0.4202 v=1193 p=0.09 r=0.0128 v=1 p=0.91 r=0.4059 v=21 ..2.. p=0.75 r=0.4018 v=20 ..2.. p=0.75 r=0.3887 v=19 ..2.. p=0.13 p=0.87 r=0.3712 v=18 p=0.12 p=0.88 r=0.3472 v=17 p=0.87 r=0.3197 v=16 p=0.13 p=0.27 r=0.1444 v=2 p=0.73 r=0.3430 v=13 p=0.50 p=0.50 p=0.38 r=0.3255 v=12 ..8.. ..6.. p=0.08 r=0.4829 v=1 p=0.50 r=0.3141 v=10 ..9.. p=1.00 r=0.2971 v=8 STEPS:2 p=0.14 p=0.05 r=0.2163 v=1 p=0.46 r=0.3041 v=6 ..2.. ..4.. ..2.. p=0.69 r=0.2876 v=5 p=0.82 r=0.2565 v=4 p=0.18 p=0.30 r=0.3362 v=1 p=0.70 r=0.1728 v=2 ..58.. p=0.11 r=0.1136 v=1 ..2.. ..58.. p=0.85 r=0.4211 v=1171 p=0.15 r=0.3782 v=21 p=0.88 r=0.4218 v=1159 p=0.12 r=0.3576 v=11 p=0.87 r=0.4227 v=1148 p=0.13 r=0.3300 v=10 p=0.72 r=0.4248 v=1010 p=0.28 r=0.4098 v=137 p=0.37 r=0.3275 v=180 p=0.19 r=0.4483 v=822 p=0.12 r=0.1899 v=7 ..6.. ..6.. p=0.09 r=0.2099 v=2 p=0.49 r=0.3301 v=177 ..8.. p=0.07 r=0.1942 v=1 ..8.. p=1.00 r=0.3316 v=173 STEPS:2 p=0.14 r=0.1451 v=2 p=0.05 r=0.1507 v=1 p=0.46 r=0.3531 v=138 p=0.19 r=0.2429 v=10 p=0.30 r=0.2492 v=23 ..4.. p=0.70 r=0.3574 v=134 p=0.16 r=0.1781 v=3 p=0.14 p=0.82 r=0.3605 v=130 p=0.18 r=0.2057 v=3 p=0.30 r=0.1158 v=7 p=0.70 r=0.3747 v=122 p=0.03 r=0.0797 v=6 ..57.. ..56.. p=0.03 p=1.00 STEPS:5 p=0.11 r=0.1120 v=1 p=0.84 r=0.3781 v=120 p=0.05 ..58.. p=0.83 r=0.3776 v=119 ..2.. p=0.90 r=0.3774 v=118 p=0.10 p=0.90 r=0.3764 v=117 p=0.10 p=0.10 p=0.90 r=0.3755 v=116 p=0.09 p=0.91 r=0.3743 v=115 p=1.00 r=0.3727 v=113 STEPS:2 p=0.10 p=0.05 r=0.2690 v=1 p=0.46 r=0.3990 v=87 p=0.22 r=0.2926 v=10 p=0.27 r=0.2758 v=14 ..4.. p=0.13 p=0.70 r=0.4046 v=84 p=0.18 r=0.1837 v=2 p=0.17 p=0.83 r=0.4039 v=83 p=0.31 r=0.2517 v=7 p=0.69 r=0.4182 v=75 p=0.03 r=0.2353 v=6 ..57.. p=0.03 p=0.04 r=0.2789 v=4 ..56.. p=0.02 r=0.2712 v=3 ..60.. ..56.. p=0.02 p=1.00 STEPS:2 p=0.11 r=0.2201 v=1 p=0.84 r=0.4230 v=73 p=0.05 ..58.. p=0.86 r=0.4221 v=72 ..2.. p=0.90 r=0.4216 v=71 p=0.10 p=0.90 r=0.4206 v=70 p=0.10 p=0.90 r=0.4196 v=69 p=0.10 p=0.90 r=0.4179 v=68 p=0.10 p=0.10 p=0.90 r=0.4161 v=67 p=0.90 r=0.4157 v=66 p=0.10 p=0.10 p=0.90 r=0.4151 v=65 p=0.16 p=1.00 r=0.4137 v=63 STEPS:2 p=0.07 r=0.3008 v=1 p=0.54 r=0.4289 v=49 p=0.20 r=0.4200 v=7 p=0.19 r=0.2850 v=5 ..4.. p=0.72 r=0.4296 v=48 ..2.. p=0.83 r=0.4283 v=47 p=0.17 p=0.31 r=0.3160 v=5 p=0.69 r=0.4420 v=41 p=0.03 r=0.2981 v=4 ..57.. p=0.03 p=0.04 r=0.4316 v=2 ..56.. p=0.02 r=0.5279 v=1 ..60.. ..58.. p=0.05 p=0.11 r=0.2474 v=1 p=0.84 r=0.4506 v=39 ..58.. ..2.. p=0.86 r=0.4487 v=38 p=0.10 p=0.90 r=0.4465 v=37 p=0.90 r=0.4442 v=36 p=0.10 p=0.10 p=0.90 r=0.4404 v=35 p=0.90 r=0.4364 v=34 p=0.10 p=0.10 p=1.00 r=0.4308 v=32 STEPS:2 p=0.05 r=0.3183 v=1 p=0.46 r=0.4650 v=24 p=0.22 r=0.3632 v=1 p=0.27 r=0.3042 v=5 ..4.. ..2.. p=0.75 r=0.4671 v=23 p=0.18 p=0.82 r=0.4653 v=22 p=0.29 r=0.2719 v=3 p=0.71 r=0.4984 v=18 ..57.. p=0.03 r=0.1886 v=2 p=0.02 ..57.. p=0.05 p=0.11 r=0.2887 v=1 p=0.84 r=0.5227 v=16 ..58.. ..2.. p=0.86 r=0.5215 v=15 p=0.90 r=0.5185 v=14 p=0.10 p=0.10 p=0.90 r=0.5161 v=13 p=0.10 p=0.90 r=0.5126 v=12 p=0.90 r=0.5043 v=11 p=0.10 p=0.10 p=0.90 r=0.4943 v=10 p=0.91 r=0.4919 v=9 p=0.09 p=0.10 p=1.00 r=0.4719 v=7 STEPS:2 ..2.. p=0.06 r=0.4340 v=1 p=0.52 r=0.4765 v=5 ..4.. ..2.. p=0.71 r=0.4841 v=4 p=0.20 p=0.80 r=0.4556 v=3 p=0.30 r=0.4804 v=1 p=0.70 r=0.3744 v=1 ..58.. ..3.. ..4.. p=0.55 r=0.2420 v=4 p=0.45 p=0.55 p=0.45 r=0.2074 v=2 ..6.. p=0.12 p=0.11 p=0.04 r=0.4998 v=1 p=0.43 r=0.4249 v=4 p=0.42 r=0.3528 v=1 ..4.. p=0.91 r=0.4022 v=3 p=0.09 p=0.04 r=0.3513 v=1 p=0.43 r=0.3622 v=1 ..2.. ..4.. ..2.. ..2.. p=0.39 p=0.61 r=0.2249 v=4 p=0.61 p=0.39 r=0.1872 v=2 p=0.13 ..6.. p=0.55 p=0.45 ..2.. p=0.05 r=0.4794 v=1 p=0.53 r=0.2601 v=8 ..4.. p=0.09 p=0.91 r=0.2298 v=7 p=0.05 r=0.2465 v=1 p=0.54 r=0.1778 v=5 ..2.. ..4.. p=0.90 r=0.1585 v=4 p=0.10 ..4.. p=0.12 p=0.26 r=0.1691 v=2 p=0.58 p=0.42 p=0.66 r=0.2021 v=9 p=0.34 r=0.3890 v=4 p=0.66 p=0.34 r=0.1903 v=7 ..5.. p=0.12 p=0.34 r=0.2037 v=5 ..2.. p=0.10 p=0.69 r=0.2328 v=3 p=0.35 p=0.65 r=0.1757 v=2 p=0.43 p=0.57 p=0.04 r=0.4636 v=1 p=0.54 r=0.3893 v=2 ..7.. ..8.. p=0.83 r=0.3519 v=1 p=0.17 ..2.. p=0.86 r=0.1706 v=2 p=0.14 p=0.10 r=0.1576 v=1 ..2.. ..58.. p=0.49 p=0.51 r=0.1531 v=1 ..10.. p=0.04 r=0.0813 v=1 p=0.42 r=0.2220 v=4 p=0.41 r=0.2948 v=4 p=0.12 ..4.. p=0.09 p=0.91 r=0.2154 v=3 p=0.04 r=0.0533 v=1 p=0.42 r=0.1284 v=1 ..2.. ..4.. ..2.. p=0.91 r=0.2885 v=3 p=0.09 ..2.. p=0.04 r=0.2072 v=1 p=0.41 r=0.3459 v=1 ..4.. ..2.. p=0.62 r=0.2172 v=15 p=0.38 r=0.2867 v=7 p=0.62 p=0.38 r=0.2144 v=13 ..5.. p=0.11 p=0.35 r=0.2260 v=11 p=0.10 p=0.66 r=0.2410 v=9 ..2.. p=0.67 r=0.2318 v=8 p=0.33 p=0.61 p=0.39 r=0.2561 v=6 ..7.. p=0.04 r=0.2875 v=1 p=0.49 r=0.2169 v=4 ..8.. p=0.17 p=0.83 r=0.1984 v=3 p=0.30 r=0.2021 v=1 p=0.70 r=0.1930 v=1 ..58.. ..3.. ..7.. p=0.04 r=0.3833 v=1 p=0.52 r=0.2645 v=5 ..8.. p=0.17 p=0.83 r=0.2306 v=4 p=0.31 r=0.2910 v=1 p=0.69 r=0.1461 v=2 ..58.. ..2.. p=0.11 r=0.1104 v=1 ..58.. ..3.. p=0.06 r=0.0439 v=1 ..4.. ..3.. p=0.16 p=0.11 r=0.0468 v=2 p=0.20 r=0.4570 v=774 p=0.10 r=0.0338 v=2 p=0.18 r=0.3394 v=42 p=0.28 r=0.0390 v=1 ..2.. ..6.. ..6.. p=0.05 r=0.0394 v=1 p=0.51 r=0.4594 v=759 p=0.13 r=0.3648 v=13 ..8.. p=0.81 r=0.4580 v=699 p=0.19 r=0.4742 v=59 p=0.76 r=0.4613 v=690 p=0.24 r=0.1710 v=8 p=0.07 p=0.83 r=0.4625 v=686 p=0.10 r=0.1745 v=3 p=0.09 p=0.79 r=0.4623 v=666 p=0.12 r=0.4638 v=19 p=0.12 p=0.88 r=0.4622 v=665 p=0.88 r=0.4620 v=664 p=0.12 p=0.12 p=0.88 r=0.4618 v=663 p=0.10 p=0.90 r=0.4615 v=662 p=0.90 r=0.4613 v=661 p=0.10 ..5.. p=0.39 r=0.4666 v=607 p=0.20 r=0.3947 v=53 p=0.27 r=0.4797 v=98 p=0.73 r=0.4644 v=508 p=0.50 p=0.50 r=0.4866 v=96 p=0.23 r=0.5009 v=36 p=0.36 r=0.4737 v=59 ..6.. ..7.. p=0.04 r=0.6056 v=1 p=0.54 r=0.4924 v=34 ..8.. p=0.10 p=0.90 r=0.4889 v=33 p=0.89 r=0.4835 v=32 p=0.11 p=0.09 p=0.91 r=0.4863 v=31 ..2.. p=0.68 r=0.4798 v=30 p=0.89 r=0.4719 v=29 p=0.11 p=0.89 r=0.4627 v=28 p=0.11 p=0.91 r=0.4631 v=27 p=0.09 p=0.90 r=0.4529 v=26 p=0.10 p=0.43 r=0.4423 v=25 ..8.. ..4.. p=0.10 p=0.30 r=0.4541 v=23 p=0.65 p=0.35 r=0.4681 v=21 p=0.13 r=0.3356 v=3 p=0.27 r=0.4818 v=17 ..6.. p=0.02 r=0.2698 v=2 ..35.. p=0.02 ..35.. ..8.. p=0.02 r=0.4200 v=1 p=0.44 r=0.4819 v=15 ..3.. p=0.08 r=0.1894 v=1 p=0.92 r=0.4960 v=13 ..2.. p=0.92 r=0.5004 v=12 p=0.08 p=0.08 p=0.92 r=0.4982 v=11 p=0.08 p=0.92 r=0.4919 v=10 p=0.90 r=0.4798 v=9 p=0.10 p=0.90 r=0.4649 v=8 p=0.10 p=0.10 p=0.90 r=0.4430 v=7 p=0.09 p=0.91 r=0.4138 v=6 p=0.90 r=0.3729 v=5 p=0.10 p=0.59 r=0.2968 v=4 p=0.41 p=0.59 p=0.41 r=0.2550 v=2 ..6.. p=0.13 p=0.05 p=0.41 r=0.4980 v=36 p=0.39 r=0.4428 v=21 ..2.. p=0.52 r=0.4551 v=24 p=0.26 r=0.5671 v=11 p=0.22 ..4.. p=0.10 r=0.3057 v=1 p=0.42 r=0.4537 v=22 ..3.. ..8.. p=0.49 r=0.4586 v=21 ..4.. p=0.09 r=0.1651 v=1 p=0.43 r=0.4650 v=19 ..3.. p=0.19 r=0.5221 v=15 p=0.23 r=0.1725 v=3 ..6.. ..6.. p=0.21 r=0.5380 v=8 p=0.26 r=0.4791 v=6 p=0.01 r=0.5267 v=7 ..35.. ..7.. p=0.27 r=0.5151 v=6 p=0.04 r=0.3664 v=1 p=0.56 r=0.5148 v=4 ..7.. ..8.. p=0.90 r=0.5338 v=3 p=0.10 p=0.89 r=0.5478 v=2 p=0.11 p=0.09 p=0.91 r=0.4984 v=1 ..3.. p=0.03 r=0.5425 v=3 p=0.32 r=0.3149 v=2 ..5.. ..7.. p=0.27 r=0.5156 v=2 ..8.. p=0.04 r=0.3664 v=1 ..8.. p=0.82 p=0.18 r=0.0274 v=1 ..2.. ..4.. p=0.06 p=0.43 p=0.19 p=0.41 r=0.6284 v=8 p=0.40 r=0.3018 v=2 p=0.25 r=0.7791 v=1 p=0.75 r=0.5984 v=6 ..6.. ..7.. p=0.15 r=0.6117 v=5 p=0.35 r=0.5958 v=4 ..9.. p=0.33 r=0.6144 v=3 ..6.. p=0.68 p=0.32 r=0.5316 v=2 p=0.11 r=0.2808 v=1 ..5.. ..3.. p=0.39 r=0.2222 v=1 ..8.. ..8.. ..3.. p=0.35 r=0.4115 v=9 p=0.34 r=0.4492 v=11 ..3.. p=0.31 p=0.29 r=0.4237 v=7 p=0.37 p=0.63 r=0.3672 v=6 p=0.21 p=0.79 r=0.3910 v=4 p=0.39 r=0.4036 v=3 ..8.. ..6.. p=0.10 r=0.5081 v=1 p=0.53 r=0.2632 v=1 ..10.. ..2.. ..3.. p=0.26 r=0.4252 v=6 p=0.28 r=0.4656 v=4 p=0.37 p=0.63 r=0.3578 v=5 p=0.63 r=0.2875 v=4 ..2.. p=0.23 r=0.2858 v=3 ..6.. p=0.54 p=0.46 r=0.2154 v=2 p=0.54 p=0.46 p=0.63 r=0.3692 v=3 p=0.37 p=0.61 r=0.2491 v=2 ..2.. p=0.23 r=0.2618 v=1 ..6.. ..2.. p=0.17 r=0.3871 v=28 p=0.40 r=0.4731 v=467 p=0.17 r=0.2982 v=12 ..6.. p=0.15 r=0.4362 v=13 p=0.21 r=0.3464 v=13 p=0.18 ..5.. ..8.. p=0.35 r=0.3554 v=5 p=0.35 r=0.4581 v=7 ..6.. p=0.40 r=0.3600 v=4 p=0.24 r=0.3528 v=1 p=0.76 r=0.3870 v=2 ..2.. ..8.. p=0.42 r=0.2055 v=1 ..8.. p=0.38 r=0.4185 v=6 ..6.. p=0.26 r=0.4174 v=1 p=0.74 r=0.4484 v=4 ..2.. p=0.41 r=0.3908 v=3 ..8.. ..6.. p=0.06 r=0.4177 v=1 p=0.56 r=0.3502 v=1 ..8.. ..2.. ..7.. p=0.09 r=0.2261 v=1 p=0.24 r=0.3351 v=11 ..3.. p=0.33 r=0.3285 v=2 p=0.67 r=0.3064 v=8 p=0.58 p=0.42 p=0.38 r=0.2979 v=7 ..8.. p=1.00 r=0.2606 v=5 STEPS:2 ..6.. p=0.05 r=0.2286 v=1 p=0.51 r=0.2492 v=3 ..2.. ..4.. p=0.58 r=0.0981 v=2 p=0.42 p=0.59 p=0.41 p=0.50 r=0.4747 v=462 p=0.10 r=0.3024 v=4 ..6.. p=0.14 r=0.2577 v=3 p=0.86 r=0.4762 v=458 ..2.. p=0.06 r=0.2723 v=1 p=0.52 r=0.2484 v=1 ..4.. ..2.. p=0.88 r=0.4766 v=457 p=0.12 p=0.88 r=0.4768 v=456 p=0.12 p=0.90 r=0.4770 v=455 p=0.10 p=0.10 p=0.90 r=0.4772 v=454 p=0.16 r=0.2766 v=5 p=0.84 r=0.4794 v=448 ..2.. p=0.05 r=0.3036 v=1 p=0.45 r=0.2648 v=3 ..4.. p=0.71 r=0.2583 v=2 p=0.29 p=0.11 r=0.2203 v=1 ..5.. ..3.. p=0.88 r=0.4796 v=447 p=0.12 p=0.88 r=0.4797 v=446 p=0.12 p=0.90 r=0.4798 v=445 p=0.10 p=0.89 r=0.4798 v=444 p=0.11 p=0.13 p=0.87 r=0.4795 v=443 p=0.15 r=0.4817 v=16 p=0.85 r=0.4789 v=426 ..2.. p=0.05 r=0.4097 v=1 p=0.45 r=0.4884 v=14 ..4.. ..2.. p=0.07 r=0.4209 v=1 p=0.70 r=0.5033 v=12 ..8.. p=0.89 r=0.4805 v=11 p=0.11 p=0.88 r=0.4517 v=10 p=0.12 p=0.62 r=0.4663 v=9 ..2.. p=0.48 r=0.4790 v=4 p=0.52 r=0.3705 v=4 p=0.48 p=0.52 r=0.5651 v=2 p=0.05 r=0.5643 v=1 ..8.. ..8.. ..8.. p=0.21 r=0.3091 v=3 ..4.. p=0.09 p=0.28 r=0.4870 v=1 ..10.. p=0.88 r=0.4783 v=425 p=0.12 p=0.88 r=0.4776 v=424 p=0.12 p=0.15 r=0.4962 v=36 p=0.62 r=0.4786 v=343 p=0.23 r=0.4584 v=44 p=0.63 r=0.4992 v=35 ..2.. p=0.48 r=0.3582 v=11 p=0.52 r=0.5532 v=23 p=0.48 p=0.52 r=0.3486 v=9 p=0.27 r=0.3236 v=6 p=0.23 r=0.3026 v=2 ..7.. p=0.09 p=0.28 r=0.3753 v=4 ..4.. p=0.32 r=0.3381 v=3 ..9.. p=0.09 r=0.1868 v=1 p=0.29 r=0.3751 v=1 ..4.. ..3.. ..2.. p=0.09 ..4.. ..7.. p=0.05 r=0.5643 v=1 p=0.56 r=0.5504 v=21 ..8.. p=0.12 p=0.88 r=0.5430 v=20 p=0.12 p=0.88 r=0.5334 v=19 p=0.10 p=0.90 r=0.5315 v=18 ..2.. p=0.66 r=0.5182 v=17 p=0.12 p=0.88 r=0.5033 v=16 p=0.88 r=0.4849 v=15 p=0.12 p=0.90 r=0.4754 v=14 p=0.10 p=0.12 p=0.88 r=0.4531 v=13 p=0.65 r=0.3579 v=9 p=0.35 r=0.6200 v=3 p=0.48 p=0.52 r=0.3481 v=7 p=0.26 r=0.2994 v=4 p=0.26 r=0.3124 v=2 ..7.. p=0.09 p=0.28 r=0.4084 v=2 ..4.. ..9.. p=0.32 r=0.4097 v=1 ..6.. p=0.09 ..4.. ..7.. p=0.26 r=0.6335 v=2 p=0.21 r=0.6346 v=1 ..7.. ..7.. p=0.48 r=0.4476 v=135 p=0.52 r=0.4972 v=207 p=0.48 p=0.52 r=0.4484 v=133 p=0.05 r=0.4632 v=5 p=0.17 r=0.4672 v=14 p=0.56 r=0.4444 v=113 ..6.. ..7.. p=0.15 r=0.4379 v=4 ..6.. p=0.31 r=0.3920 v=3 p=0.22 r=0.2971 v=2 ..7.. p=0.27 ..6.. ..3.. p=0.07 p=0.59 r=0.4976 v=12 p=0.45 r=0.4610 v=7 p=0.36 r=0.5306 v=4 p=0.19 p=0.45 r=0.3315 v=2 p=0.55 r=0.4756 v=4 p=0.45 p=0.55 ..8.. p=0.53 r=0.4835 v=3 p=0.55 p=0.45 r=0.3938 v=2 p=0.45 p=0.55 p=0.37 r=0.4981 v=3 ..2.. p=0.45 r=0.4014 v=2 p=0.55 p=0.41 p=0.59 p=0.88 r=0.4425 v=112 p=0.12 p=0.88 r=0.4402 v=111 p=0.12 p=0.90 r=0.4393 v=110 p=0.10 p=0.12 p=0.66 r=0.4427 v=103 p=0.22 r=0.3332 v=6 p=0.88 r=0.4399 v=102 p=0.12 p=0.12 p=0.88 r=0.4368 v=101 p=0.10 p=0.90 r=0.4354 v=100 p=0.88 r=0.4320 v=99 p=0.12 p=0.65 r=0.4143 v=68 p=0.35 r=0.4597 v=30 p=0.48 p=0.52 r=0.4150 v=66 p=0.18 r=0.2796 v=5 p=0.31 r=0.4195 v=41 p=0.18 r=0.4321 v=19 ..6.. ..4.. p=0.09 p=0.28 r=0.3391 v=3 p=0.32 r=0.3051 v=2 ..9.. p=0.09 r=0.2005 v=1 ..5.. ..3.. p=0.09 p=0.39 r=0.3547 v=18 p=0.24 r=0.4870 v=21 ..2.. p=0.65 r=0.3728 v=13 p=0.35 r=0.2334 v=4 p=0.43 p=0.57 r=0.3850 v=11 p=0.24 r=0.3291 v=6 p=0.24 r=0.4441 v=4 ..6.. p=0.17 r=0.3258 v=4 p=0.28 ..6.. p=0.32 p=0.23 r=0.3173 v=2 ..5.. ..3.. p=0.13 ..4.. p=0.05 p=0.43 r=0.5692 v=2 p=0.89 r=0.5473 v=1 p=0.11 ..2.. p=0.32 p=0.15 r=0.2967 v=2 ..8.. ..4.. p=0.13 p=0.26 p=0.39 r=0.5096 v=19 ..4.. p=0.81 r=0.5073 v=18 p=0.19 p=0.24 r=0.4398 v=2 p=0.76 r=0.5182 v=15 ..57.. p=0.03 r=0.4113 v=1 ..58.. p=0.11 r=0.4318 v=1 p=0.82 r=0.5337 v=13 p=0.07 ..58.. ..2.. p=0.80 r=0.5301 v=12 p=0.10 p=0.90 r=0.5233 v=11 p=0.88 r=0.5130 v=10 p=0.12 p=0.12 p=0.88 r=0.4977 v=9 p=0.89 r=0.4709 v=8 p=0.11 p=0.13 p=0.87 r=0.4316 v=7 p=0.50 r=0.4425 v=3 p=0.50 r=0.3067 v=3 p=0.56 p=0.44 r=0.5536 v=1 ..8.. p=0.18 r=0.1904 v=2 ..8.. p=0.12 ..5.. ..8.. p=0.36 r=0.4042 v=7 p=0.36 r=0.4354 v=11 p=0.45 r=0.4313 v=3 p=0.55 r=0.2543 v=3 p=0.50 p=0.50 r=0.5116 v=1 ..8.. ..8.. p=0.19 r=0.1257 v=2 ..5.. p=0.12 p=0.48 r=0.5025 v=5 p=0.52 r=0.2932 v=5 p=0.54 p=0.46 r=0.5626 v=3 ..7.. p=0.23 r=0.5773 v=2 p=0.19 r=0.5922 v=1 ..7.. ..7.. ..7.. p=0.18 r=0.2067 v=2 p=0.29 r=0.2670 v=2 p=0.11 ..5.. p=0.09 ..4.. p=0.26 r=0.3885 v=8 p=0.39 r=0.4821 v=21 ..6.. p=0.21 r=0.3587 v=7 ..7.. p=0.26 p=0.27 r=0.3822 v=5 ..5.. p=0.11 p=0.68 r=0.3970 v=3 ..2.. p=0.25 p=0.75 r=0.3033 v=2 p=0.44 p=0.56 p=0.03 p=0.29 r=0.4745 v=5 p=0.46 r=0.5120 v=14 ..3.. p=0.43 r=0.4471 v=4 ..2.. p=0.47 r=0.3399 v=2 p=0.53 r=0.4263 v=1 p=0.53 p=0.47 ..9.. p=0.87 r=0.5089 v=13 p=0.13 p=0.12 p=0.88 r=0.4913 v=12 p=0.90 r=0.4879 v=11 p=0.10 p=0.68 r=0.4640 v=10 ..2.. p=0.12 p=0.88 r=0.4357 v=9 p=0.12 p=0.88 r=0.3975 v=8 p=0.90 r=0.3674 v=7 p=0.10 p=0.88 p=0.12 r=0.3637 v=5 p=0.08 r=0.4549 v=1 p=0.92 r=0.2570 v=3 ..2.. p=0.11 p=0.74 p=0.15 p=0.77 r=0.2613 v=5 p=0.23 p=0.03 r=0.2015 v=4 ..57.. ..56.. p=0.02 p=1.00 STEPS:3 ..6.. p=0.21 r=0.2660 v=9 p=0.20 r=0.5418 v=107 p=0.25 r=0.4666 v=90 p=0.09 p=0.28 r=0.3002 v=5 p=0.25 r=0.2262 v=2 ..3.. ..9.. p=0.32 r=0.2535 v=4 p=0.09 r=0.1868 v=1 p=0.29 r=0.1876 v=2 ..4.. ..3.. p=0.56 p=0.44 p=0.54 p=0.46 ..8.. p=0.35 r=0.5811 v=57 p=0.35 r=0.4949 v=49 p=0.43 r=0.5304 v=21 p=0.57 r=0.6067 v=35 p=0.43 p=0.57 r=0.5480 v=19 p=0.05 r=0.5454 v=1 p=0.53 r=0.5508 v=17 ..7.. ..8.. p=0.12 p=0.88 r=0.5441 v=16 p=0.12 p=0.88 r=0.5330 v=15 p=0.10 p=0.90 r=0.5321 v=14 p=0.66 r=0.5183 v=13 ..2.. p=0.88 r=0.5024 v=12 p=0.12 p=0.88 r=0.4814 v=11 p=0.12 p=0.10 p=0.90 r=0.4699 v=10 p=0.12 p=0.88 r=0.4365 v=9 p=0.56 r=0.3855 v=4 p=0.44 r=0.4045 v=4 p=0.45 p=0.55 r=0.3815 v=2 p=0.19 r=0.2514 v=1 ..8.. ..6.. ..7.. p=0.25 r=0.3706 v=3 p=0.20 r=0.2880 v=2 ..7.. ..6.. p=0.27 ..6.. p=0.21 r=0.1182 v=2 p=0.21 r=0.7704 v=20 p=0.25 r=0.4261 v=12 ..5.. p=0.10 p=0.06 r=0.5509 v=1 p=0.55 r=0.7935 v=18 ..7.. ..8.. p=0.54 r=0.8765 v=14 p=0.46 r=0.4268 v=3 p=0.39 r=0.8980 v=13 ..9.. p=0.68 r=0.9059 v=12 p=0.32 p=0.63 r=0.9143 v=11 ..2.. p=0.12 p=0.88 r=0.9208 v=10 p=0.86 r=0.9207 v=9 p=0.14 p=0.91 r=0.9471 v=8 p=0.09 ..2.. p=0.68 r=0.9487 v=7 p=0.86 r=0.9496 v=6 p=0.14 p=0.14 p=0.86 r=0.9497 v=5 p=0.09 p=0.91 r=0.9889 v=4 p=0.11 p=0.89 r=0.9996 v=3 p=0.20 r=0.9999 v=2 ..3.. p=0.62 ..2.. p=0.46 p=0.54 r=0.5401 v=1 ..9.. ..3.. p=0.09 p=0.37 r=0.4607 v=10 p=0.62 r=0.4713 v=8 p=0.38 r=0.2794 v=1 p=0.41 p=0.59 r=0.5299 v=6 p=0.04 r=0.6329 v=1 p=0.56 r=0.5331 v=4 ..7.. ..8.. p=0.89 r=0.5264 v=3 p=0.11 p=0.11 p=0.89 r=0.5044 v=2 p=0.09 p=0.91 r=0.5703 v=1 ..3.. ..10.. p=0.46 r=0.5184 v=24 p=0.54 r=0.4590 v=24 p=0.46 p=0.54 r=0.5284 v=22 ..7.. p=0.05 r=0.6141 v=1 p=0.51 r=0.5219 v=20 ..8.. p=0.88 r=0.5137 v=19 p=0.12 p=0.12 p=0.88 r=0.5019 v=18 p=0.90 r=0.4980 v=17 p=0.10 p=0.66 r=0.4808 v=16 ..2.. p=0.12 p=0.88 r=0.4644 v=15 p=0.12 p=0.88 r=0.4440 v=14 p=0.90 r=0.4306 v=13 p=0.10 p=0.12 p=0.88 r=0.3980 v=12 p=0.59 r=0.3268 v=7 p=0.41 r=0.4100 v=4 p=0.48 p=0.52 r=0.2932 v=5 ..7.. p=0.19 r=0.2067 v=2 p=0.30 r=0.2670 v=2 ..5.. p=0.11 ..4.. p=0.09 ..7.. p=0.24 r=0.3754 v=3 ..7.. p=0.19 r=0.2916 v=2 ..6.. p=0.25 ..7.. p=0.20 r=0.2671 v=4 p=0.24 r=0.4948 v=19 p=0.08 p=0.33 r=0.3064 v=2 ..4.. p=0.59 p=0.41 p=0.09 p=0.38 r=0.5191 v=17 ..3.. p=0.65 r=0.5614 v=14 p=0.35 r=0.1698 v=2 p=0.44 p=0.56 r=0.6002 v=12 ..7.. p=0.04 r=0.6957 v=1 p=0.55 r=0.6023 v=10 ..8.. p=0.11 p=0.89 r=0.6070 v=9 p=0.89 r=0.6107 v=8 p=0.11 p=0.91 r=0.6342 v=7 p=0.09 p=0.70 r=0.6437 v=6 ..2.. p=0.89 r=0.6526 v=5 p=0.11 p=0.11 p=0.89 r=0.6590 v=4 p=0.09 p=0.91 r=0.7128 v=3 p=0.09 p=0.91 r=0.7399 v=2 p=0.49 p=0.51 r=0.7784 v=1 ..2.. ..9.. p=0.28 ..2.. p=0.09 p=0.38 r=0.4301 v=47 p=0.24 r=0.5173 v=41 p=0.65 r=0.4512 v=39 p=0.35 r=0.2848 v=7 p=0.44 p=0.56 r=0.4584 v=37 p=0.04 r=0.5810 v=1 p=0.56 r=0.4556 v=35 ..7.. ..8.. p=0.89 r=0.4548 v=34 p=0.11 p=0.89 r=0.4523 v=33 p=0.11 p=0.09 p=0.91 r=0.4536 v=32 ..2.. p=0.70 r=0.4500 v=31 p=0.11 p=0.89 r=0.4454 v=30 p=0.11 p=0.89 r=0.4395 v=29 p=0.91 r=0.4388 v=28 p=0.09 p=0.10 p=0.90 r=0.4320 v=27 p=0.55 r=0.4619 v=17 p=0.45 r=0.3506 v=9 p=0.57 p=0.43 r=0.4738 v=15 p=0.34 r=0.4636 v=14 ..9.. p=0.35 r=0.5304 v=6 p=0.65 r=0.3451 v=7 p=0.40 p=0.60 r=0.5728 v=4 p=0.21 r=0.5134 v=3 ..7.. p=0.16 r=0.3842 v=2 ..7.. ..6.. p=0.25 p=0.20 r=0.2794 v=6 ..8.. ..4.. p=0.11 p=0.23 r=0.3131 v=4 ..9.. p=0.31 r=0.2711 v=3 ..5.. p=0.11 r=0.1859 v=2 p=0.26 r=0.1393 v=1 ..2.. ..62.. p=0.24 r=0.3234 v=6 p=0.25 r=0.3098 v=2 ..6.. p=0.18 r=0.3215 v=4 p=0.26 ..6.. ..5.. p=0.32 p=0.23 r=0.3129 v=2 ..3.. p=0.12 p=0.05 ..5.. ..8.. p=0.32 p=0.15 r=0.3391 v=5 p=0.13 p=0.40 r=0.3833 v=3 ..3.. p=0.44 r=0.3183 v=2 p=0.56 p=0.57 p=0.43 ..4.. p=0.26 p=0.39 r=0.5295 v=39 p=0.81 r=0.5270 v=38 p=0.19 p=0.24 r=0.3417 v=3 p=0.76 r=0.5424 v=34 p=0.03 r=0.2369 v=2 ..57.. ..57.. p=0.02 p=0.07 p=0.10 r=0.5146 v=1 p=0.83 r=0.5463 v=32 ..58.. ..2.. p=0.80 r=0.5428 v=31 p=0.10 p=0.90 r=0.5396 v=30 p=0.12 p=0.88 r=0.5358 v=29 p=0.12 p=0.88 r=0.5309 v=28 p=0.11 p=0.89 r=0.5236 v=27 p=0.87 r=0.5150 v=26 p=0.13 p=0.50 r=0.5754 v=17 p=0.50 r=0.3538 v=8 p=0.50 p=0.50 r=0.5997 v=15 ..7.. p=0.05 r=0.5662 v=1 p=0.54 r=0.6051 v=13 ..8.. p=0.12 p=0.88 r=0.6026 v=12 p=0.88 r=0.5970 v=11 p=0.12 p=0.10 p=0.90 r=0.6067 v=10 ..2.. p=0.66 r=0.5961 v=9 p=0.12 p=0.88 r=0.5831 v=8 p=0.12 p=0.88 r=0.5631 v=7 p=0.90 r=0.5648 v=6 p=0.10 p=0.88 r=0.5304 v=5 p=0.12 p=0.33 p=0.67 r=0.4605 v=4 p=0.50 p=0.50 r=0.5287 v=2 p=0.18 r=0.3844 v=1 ..8.. ..6.. p=0.20 r=0.2202 v=2 p=0.27 r=0.3675 v=5 ..7.. p=0.10 ..5.. p=0.09 p=0.38 r=0.4202 v=3 ..3.. p=0.35 p=0.65 r=0.3193 v=2 p=0.44 p=0.56 p=0.17 r=0.3480 v=4 p=0.38 r=0.4657 v=39 ..6.. p=0.24 r=0.2757 v=3 ..8.. ..4.. p=0.09 p=0.27 r=0.3378 v=1 ..10.. ..2.. p=0.05 p=0.30 r=0.5426 v=22 p=0.23 r=0.3243 v=5 p=0.28 r=0.3998 v=10 ..7.. p=0.03 p=0.38 r=0.5688 v=20 p=0.86 r=0.5702 v=19 p=0.14 p=0.89 r=0.5736 v=18 p=0.11 p=0.12 p=0.88 r=0.5755 v=17 p=0.09 p=0.91 r=0.5744 v=16 p=0.91 r=0.5732 v=15 p=0.09 p=0.16 p=0.84 r=0.5719 v=14 p=0.12 p=0.88 r=0.5709 v=13 p=0.12 p=0.88 r=0.5691 v=12 p=0.09 p=0.91 r=0.5629 v=11 p=0.90 r=0.5533 v=10 p=0.10 p=0.13 p=0.87 r=0.5348 v=9 p=0.85 r=0.5020 v=8 p=0.15 p=0.89 r=0.4503 v=7 p=0.11 p=0.88 p=0.12 r=0.4582 v=5 ..2.. p=0.04 r=0.5282 v=1 p=0.44 r=0.3586 v=3 ..4.. p=0.34 p=0.66 r=0.2698 v=2 p=0.58 p=0.42 p=0.39 r=0.3230 v=2 p=0.61 r=0.1446 v=2 p=0.42 p=0.58 p=0.27 ..9.. p=0.41 r=0.3842 v=9 ..4.. p=0.32 p=0.30 r=0.4076 v=7 ..3.. ..2.. p=0.50 r=0.3654 v=6 p=0.36 r=0.3542 v=2 p=0.64 r=0.2617 v=3 p=0.64 p=0.36 p=0.30 r=0.2430 v=2 ..8.. ..5.. p=0.09 ..9.. p=0.33 r=0.2461 v=3 ..6.. p=0.45 r=0.2882 v=2 p=0.86 r=0.2676 v=1 p=0.14 ..2.. ..2.. p=0.09 p=0.36 r=0.2978 v=7 p=0.28 r=0.3034 v=3 p=0.33 r=0.3285 v=2 p=0.67 r=0.2133 v=4 p=0.58 p=0.42 ..8.. p=0.29 p=0.27 r=0.2428 v=2 p=0.09 ..5.. p=0.06 r=0.2109 v=1 p=0.26 ..7.. ..3.. p=0.11 r=0.2994 v=1 p=0.67 r=0.3888 v=51 ..2.. ..2.. p=0.27 r=0.5332 v=18 p=0.73 r=0.3019 v=32 p=0.42 p=0.58 r=0.5636 v=16 ..7.. p=0.30 r=0.5660 v=15 ..7.. p=0.04 r=0.4323 v=1 p=0.55 r=0.5621 v=13 ..8.. p=0.10 p=0.90 r=0.5586 v=12 p=0.89 r=0.5502 v=11 p=0.11 p=0.91 r=0.5366 v=10 p=0.09 p=0.68 r=0.5247 v=9 ..2.. p=0.11 p=0.89 r=0.5064 v=8 p=0.11 p=0.89 r=0.4792 v=7 p=0.91 r=0.4308 v=6 p=0.09 p=0.90 r=0.3776 v=5 p=0.10 ..8.. p=0.30 r=0.3111 v=4 p=0.10 p=0.30 r=0.3111 v=2 ..4.. p=0.65 p=0.35 ..8.. p=0.36 r=0.2984 v=31 ..6.. p=0.11 r=0.3128 v=2 p=0.53 r=0.2924 v=28 p=0.33 r=0.1606 v=1 ..9.. ..10.. p=0.80 r=0.2903 v=27 p=0.20 p=0.89 r=0.2920 v=26 p=0.11 p=1.00 r=0.2929 v=24 STEPS:2 p=0.11 p=0.04 r=0.2870 v=1 p=0.42 r=0.2902 v=10 p=0.41 r=0.3011 v=12 p=0.13 ..4.. p=0.46 r=0.2763 v=4 p=0.54 r=0.2852 v=5 p=0.46 p=0.54 r=0.3663 v=2 ..9.. p=0.35 r=0.4165 v=1 ..2.. ..9.. p=0.39 r=0.2844 v=4 p=0.48 r=0.2118 v=2 p=0.52 r=0.2904 v=1 p=0.48 p=0.52 ..7.. p=1.00 r=0.3055 v=10 STEPS:2 ..2.. p=0.17 p=0.04 r=0.3126 v=1 p=0.34 r=0.2824 v=3 p=0.46 r=0.3225 v=5 ..4.. p=0.46 r=0.2118 v=2 p=0.54 p=0.46 p=0.54 p=0.80 r=0.3336 v=4 ..2.. p=0.19 p=0.81 r=0.3243 v=3 p=0.89 r=0.3300 v=2 p=0.11 p=1.00 STEPS:2 p=0.11 ..7.. p=0.53 r=0.4589 v=18 p=0.05 p=0.62 r=0.4852 v=16 p=0.33 p=0.88 r=0.4794 v=15 p=0.12 p=0.88 r=0.4703 v=14 p=0.12 p=0.12 p=0.88 r=0.4604 v=13 p=0.10 p=0.90 r=0.4468 v=12 p=0.90 r=0.4291 v=11 p=0.10 ..6.. p=0.40 r=0.3957 v=10 p=0.27 r=0.3028 v=1 p=0.73 r=0.4193 v=8 ..2.. ..8.. p=0.41 r=0.3977 v=7 ..6.. p=0.10 r=0.4657 v=1 p=0.52 r=0.3791 v=5 ..10.. p=0.14 p=0.86 r=0.3718 v=4 p=0.88 r=0.3868 v=3 p=0.12 p=0.12 p=0.88 r=0.4018 v=2 p=0.09 p=0.91 r=0.4054 v=1 ..2.. p=0.03 r=0.1194 v=2 ..57.. p=0.02 ..57.. p=0.03 r=0.1127 v=6 p=1.00 STEPS:2 ..56.. ..56.. p=0.02 p=1.00 STEPS:5 p=0.85 r=0.4725 v=58 p=0.15 p=0.10 r=0.3364 v=1 p=0.83 r=0.4726 v=56 p=0.07 ..58.. ..2.. p=0.79 r=0.4721 v=55 p=0.12 p=0.88 r=0.4704 v=54 p=0.88 r=0.4679 v=53 p=0.12 p=0.12 p=0.88 r=0.4656 v=52 p=0.10 p=0.90 r=0.4625 v=51 p=0.10 p=0.90 r=0.4591 v=50 p=0.39 r=0.4628 v=39 p=0.20 r=0.4148 v=10 ..5.. p=0.27 r=0.1514 v=2 p=0.73 r=0.4847 v=36 p=0.50 p=0.50 ..8.. p=0.40 r=0.4823 v=35 ..6.. p=0.10 r=0.3167 v=2 p=0.50 r=0.4946 v=32 p=0.33 r=0.1620 v=1 ..9.. ..7.. p=0.86 r=0.4975 v=31 p=0.14 p=0.12 p=0.88 r=0.5031 v=30 p=0.88 r=0.5080 v=29 p=0.12 p=0.10 p=0.90 r=0.5120 v=28 p=0.90 r=0.5160 v=27 p=0.10 p=0.84 r=0.5184 v=26 p=0.16 p=0.12 p=0.88 r=0.5227 v=25 p=0.88 r=0.5271 v=24 p=0.12 p=0.90 r=0.5299 v=23 p=0.10 p=0.89 r=0.5330 v=22 p=0.11 p=0.13 p=0.87 r=0.5295 v=21 p=0.85 r=0.5206 v=20 p=0.15 p=0.88 r=0.5083 v=19 p=0.12 p=0.88 r=0.4939 v=18 p=0.12 ..2.. p=0.62 r=0.5040 v=17 p=0.48 r=0.5852 v=9 p=0.52 r=0.3577 v=7 p=0.48 p=0.52 r=0.6401 v=7 ..7.. p=0.05 r=0.5643 v=1 p=0.56 r=0.6701 v=5 ..8.. p=0.12 p=0.88 r=0.6714 v=4 p=0.12 p=0.88 r=0.6631 v=3 p=0.10 p=0.90 r=0.7294 v=2 ..2.. p=0.66 r=0.7299 v=1 ..2.. p=0.21 r=0.3449 v=4 p=0.25 r=0.2848 v=2 ..7.. p=0.09 p=0.28 r=0.4696 v=2 ..4.. p=0.32 r=0.4523 v=1 ..9.. ..6.. ..4.. p=0.09 ..2.. p=0.11 r=0.2994 v=1 p=0.67 r=0.3821 v=8 ..2.. p=0.27 r=0.2901 v=2 p=0.73 r=0.3813 v=5 p=0.58 p=0.42 p=0.36 r=0.3742 v=4 ..8.. ..6.. p=0.11 r=0.4650 v=1 p=0.53 r=0.2979 v=2 ..10.. p=0.20 p=0.80 r=0.2459 v=1 ..2.. p=0.37 p=0.19 r=0.3564 v=11 ..5.. ..2.. p=0.12 p=0.68 r=0.3451 v=9 p=0.30 r=0.2872 v=2 p=0.70 r=0.3279 v=6 p=0.42 p=0.58 p=0.36 r=0.3423 v=5 ..8.. p=0.07 r=0.4707 v=1 p=0.55 r=0.2771 v=3 ..6.. ..9.. p=0.20 p=1.00 r=0.2435 v=1 STEPS:2 ..4.. ..5.. p=0.19 r=0.0194 v=1 ..3.. p=0.06 r=0.1037 v=1 p=0.37 r=0.3390 v=37 p=0.15 r=0.3697 v=3 ..7.. ..3.. p=0.10 p=0.90 r=0.3339 v=36 p=0.90 r=0.3289 v=35 p=0.10 p=0.10 p=0.90 r=0.3235 v=34 p=0.90 r=0.3162 v=33 p=0.10 p=0.14 p=0.86 r=0.3085 v=32 p=0.87 r=0.2974 v=31 p=0.13 p=0.87 r=0.2838 v=30 p=0.13 p=0.12 p=0.88 r=0.2690 v=29 p=0.87 p=0.13 r=0.2609 v=27 p=0.08 r=0.1900 v=1 p=0.92 r=0.2529 v=25 ..2.. p=0.71 p=0.14 r=0.2545 v=22 p=0.15 ..5.. p=0.08 p=0.39 r=0.2552 v=20 ..2.. p=0.08 p=0.68 r=0.2553 v=18 p=0.65 p=0.12 r=0.2659 v=15 p=0.23 ..8.. p=0.26 p=0.25 r=0.2849 v=13 ..3.. p=0.10 p=0.21 r=0.3350 v=6 p=0.28 r=0.2273 v=5 ..8.. p=0.54 r=0.3410 v=5 p=0.09 r=0.3196 v=2 p=0.29 r=0.2573 v=2 ..4.. ..2.. p=0.37 r=0.2994 v=1 ..62.. p=0.43 p=0.57 p=0.57 p=0.43 r=0.1933 v=3 ..6.. p=0.14 r=0.0320 v=1 p=0.23 r=0.2604 v=1 ..36.. ..10.. p=0.30 r=0.5445 v=1 p=0.70 r=0.0838 v=1 ..2.. ..9.. p=0.10 p=0.37 r=0.2067 v=5 ..3.. p=0.30 r=0.4085 v=1 p=0.70 r=0.0481 v=3 ..2.. ..8.. p=0.25 p=0.26 r=0.0463 v=1 ..6.. p=0.48 p=0.52 r=0.4143 v=135 ..6.. p=0.30 r=0.4105 v=77 p=0.25 r=0.4189 v=57 p=0.05 r=0.1446 v=1 p=0.47 r=0.4160 v=75 ..7.. ..8.. p=0.90 r=0.4137 v=74 p=0.10 p=0.11 p=0.89 r=0.4105 v=73 p=0.09 p=0.91 r=0.4115 v=72 p=0.66 r=0.4196 v=65 p=0.25 r=0.2813 v=6 p=0.09 p=0.11 p=0.89 r=0.4153 v=64 p=0.11 p=0.89 r=0.4106 v=63 p=0.91 r=0.4101 v=62 p=0.09 p=0.10 p=0.90 r=0.4050 v=61 ..8.. p=0.39 r=0.3984 v=60 ..2.. p=0.10 p=0.28 r=0.4193 v=48 p=0.16 r=0.3520 v=9 p=0.19 p=0.65 p=0.35 r=0.4242 v=46 ..5.. p=0.13 r=0.2911 v=3 p=0.28 r=0.4391 v=41 p=0.19 p=0.02 r=0.2692 v=2 ..35.. p=0.02 ..35.. p=0.02 r=0.4187 v=1 p=0.44 r=0.4608 v=32 p=0.25 r=0.3259 v=7 ..7.. ..3.. p=0.08 r=0.0542 v=1 p=0.92 r=0.4700 v=30 ..2.. p=0.08 p=0.92 r=0.4710 v=29 p=0.08 p=0.92 r=0.4692 v=28 p=0.08 p=0.92 r=0.4658 v=27 p=0.10 p=0.90 r=0.4622 v=26 p=0.90 r=0.4568 v=25 p=0.10 p=0.10 p=0.90 r=0.4501 v=24 p=0.10 p=0.90 r=0.4429 v=23 p=0.90 r=0.4350 v=22 p=0.10 p=0.58 r=0.3075 v=9 p=0.42 r=0.5105 v=12 p=0.58 p=0.42 r=0.2988 v=7 ..5.. p=0.13 p=0.36 r=0.3165 v=5 ..2.. p=0.10 p=0.68 r=0.3537 v=3 p=0.69 r=0.2659 v=2 p=0.31 p=0.40 p=0.60 p=0.04 r=0.5645 v=1 p=0.56 r=0.5052 v=10 ..7.. ..7.. p=0.92 r=0.5109 v=9 p=0.08 p=0.08 p=0.92 r=0.5169 v=8 p=0.92 r=0.5127 v=7 p=0.08 p=0.92 r=0.5075 v=6 p=0.08 p=0.10 p=0.90 r=0.5005 v=5 p=0.10 p=0.90 r=0.4709 v=4 p=0.90 r=0.4252 v=3 p=0.10 p=0.10 p=0.90 r=0.3189 v=2 p=0.90 p=0.10 p=0.62 r=0.2735 v=6 p=0.38 p=0.62 p=0.38 r=0.2499 v=4 ..5.. p=0.27 p=0.32 r=0.2506 v=2 p=0.12 ..3.. p=0.31 p=0.28 r=0.3647 v=7 ..5.. ..2.. p=0.12 p=0.66 r=0.3871 v=5 p=0.09 r=0.3487 v=2 p=0.32 r=0.3096 v=2 ..4.. p=0.37 r=0.2580 v=1 ..2.. ..62.. p=0.62 p=0.38 p=0.80 r=0.2138 v=5 p=0.20 ..57.. p=0.03 r=0.1371 v=4 ..56.. p=0.02 p=1.00 STEPS:3 ..2.. p=0.05 p=0.40 r=0.4399 v=32 p=0.40 r=0.3964 v=23 p=0.54 r=0.4314 v=24 p=0.23 r=0.4427 v=7 p=0.22 ..4.. p=0.10 r=0.1949 v=1 p=0.42 r=0.4313 v=22 ..3.. ..8.. p=0.45 r=0.4451 v=21 p=0.08 r=0.1305 v=1 p=0.47 r=0.4523 v=19 ..4.. ..3.. ..6.. p=0.16 r=0.5161 v=15 p=0.24 r=0.1730 v=3 p=0.20 r=0.5430 v=6 p=0.28 r=0.4791 v=8 ..6.. p=0.01 r=0.5272 v=5 ..35.. ..7.. p=0.28 r=0.5086 v=4 p=0.04 r=0.3769 v=1 p=0.56 r=0.4931 v=2 ..7.. ..8.. p=0.90 r=0.5171 v=1 p=0.10 ..2.. ..5.. p=0.03 r=0.5499 v=3 p=0.32 r=0.3902 v=4 ..7.. p=0.28 r=0.5240 v=2 p=0.04 r=0.3769 v=1 ..8.. ..8.. p=0.18 r=0.0166 v=1 p=0.82 r=0.4682 v=2 ..2.. p=0.91 r=0.5030 v=1 p=0.09 ..2.. p=0.06 p=0.44 ..4.. p=0.42 r=0.4670 v=5 p=0.39 r=0.1447 v=1 p=0.19 p=0.26 r=0.7836 v=1 p=0.74 r=0.2994 v=3 ..6.. p=0.18 r=0.2650 v=2 ..7.. ..8.. p=0.03 r=0.0100 v=1 ..8.. ..9.. ..3.. p=0.35 r=0.3900 v=10 p=0.33 r=0.4177 v=12 ..3.. p=0.31 p=0.29 r=0.3934 v=8 p=0.61 r=0.3713 v=6 p=0.39 r=0.2209 v=1 p=0.21 p=0.79 r=0.3868 v=4 ..8.. p=0.36 r=0.4444 v=3 p=0.07 r=0.5024 v=1 p=0.54 r=0.4031 v=1 ..6.. ..9.. ..2.. ..8.. ..3.. p=0.26 r=0.4085 v=6 p=0.28 r=0.4255 v=5 p=0.39 p=0.61 r=0.3550 v=5 p=0.62 r=0.2738 v=4 ..2.. ..6.. p=0.16 r=0.2710 v=3 p=0.37 p=0.63 r=0.2042 v=2 p=0.59 p=0.41 p=0.39 p=0.61 r=0.3374 v=4 ..2.. p=0.60 r=0.2417 v=3 p=0.16 r=0.2486 v=2 ..6.. p=0.64 r=0.2486 v=1 p=0.36 ..2.. p=0.11 r=0.0603 v=1 p=0.89 r=0.3809 v=8 ..2.. ..2.. p=0.71 r=0.3464 v=7 p=0.25 r=0.2615 v=1 p=0.75 r=0.3745 v=5 ..2.. ..8.. p=0.38 r=0.3496 v=4 p=0.09 r=0.4333 v=1 p=0.49 r=0.3791 v=2 ..6.. ..9.. p=1.00 STEPS:2 p=0.14 p=0.09 r=0.0228 v=1 p=0.91 r=0.4129 v=9 ..2.. ..2.. p=0.71 r=0.3935 v=8 p=0.87 r=0.3464 v=7 p=0.13 p=0.25 r=0.2615 v=1 p=0.75 r=0.3745 v=5 ..2.. ..8.. p=0.38 r=0.3496 v=4 p=0.09 r=0.4333 v=1 p=0.49 r=0.3791 v=2 ..6.. ..9.. p=0.14 p=1.00 STEPS:2 p=0.09 r=0.0128 v=1 p=0.91 r=0.4098 v=19 ..2.. ..2.. p=0.74 r=0.4019 v=18 ..2.. p=0.75 r=0.3864 v=17 p=0.12 p=0.88 r=0.3618 v=16 p=0.87 r=0.3334 v=15 p=0.13 p=0.27 r=0.1444 v=2 p=0.73 r=0.3621 v=12 p=0.50 p=0.50 ..8.. p=0.38 r=0.3448 v=11 ..6.. p=0.08 r=0.4829 v=1 p=0.50 r=0.3364 v=9 ..9.. p=0.14 p=1.00 r=0.3233 v=7 STEPS:2 p=0.05 r=0.2163 v=1 p=0.46 r=0.3422 v=5 ..2.. ..4.. ..2.. p=0.69 r=0.3310 v=4 p=0.82 r=0.3041 v=3 p=0.18 p=0.30 r=0.3362 v=1 p=0.70 r=0.2320 v=1 ..58.. ..3.. p=0.10 r=0.0131 v=1 p=0.90 r=0.3989 v=22 ..2.. ..2.. p=0.76 r=0.4052 v=21 p=0.75 r=0.4037 v=20 ..2.. p=0.13 p=0.87 r=0.3887 v=19 p=0.13 p=0.87 r=0.3712 v=18 p=0.88 r=0.3472 v=17 p=0.12 p=0.87 r=0.3197 v=16 p=0.13 p=0.27 r=0.1444 v=2 p=0.73 r=0.3430 v=13 p=0.50 p=0.50 p=0.38 r=0.3255 v=12 ..8.. ..6.. p=0.08 r=0.4829 v=1 p=0.50 r=0.3141 v=10 ..9.. p=0.14 p=1.00 r=0.2971 v=8 STEPS:2 p=0.05 r=0.2163 v=1 p=0.46 r=0.3041 v=6 ..2.. ..4.. ..2.. p=0.69 r=0.2876 v=5 p=0.18 p=0.82 r=0.2565 v=4 p=0.30 r=0.3362 v=1 p=0.70 r=0.1728 v=2 ..58.. p=0.11 r=0.1136 v=1 ..2.. ..58.. p=0.08 ..4.. ..3.. p=0.06 p=0.50 r=0.0985 v=1 ..2.. p=0.21 p=0.79 r=0.2156 v=31 ..5.. p=0.22 r=0.2637 v=22 p=0.13 r=0.0392 v=2 p=0.21 r=0.1267 v=6 ..7.. p=0.06 r=0.0320 v=1 p=0.46 r=0.2857 v=20 ..8.. p=0.13 p=0.87 r=0.2910 v=19 p=0.11 p=0.89 r=0.2966 v=18 p=0.10 p=0.90 r=0.3095 v=17 p=0.09 p=0.56 r=0.3231 v=13 p=0.35 r=0.1771 v=3 p=0.12 p=0.88 r=0.3040 v=12 p=0.11 p=0.89 r=0.2788 v=11 p=0.10 p=0.90 r=0.2970 v=10 p=0.11 p=0.89 r=0.2485 v=9 ..8.. p=0.37 r=0.1795 v=8 ..3.. p=0.10 p=0.19 r=0.1188 v=1 p=0.27 r=0.1712 v=5 ..7.. p=0.61 p=0.39 r=0.1168 v=3 p=0.13 r=0.0386 v=1 p=0.27 r=0.1806 v=1 ..6.. ..36.. ..10.. p=0.19 p=0.81 r=0.0301 v=2 ..57.. p=0.03 r=0.0365 v=1 ..58.. ..7.. p=0.39 r=0.0362 v=1 ..9.. ..2.. p=0.06 p=0.38 r=0.1479 v=1 p=0.41 r=0.1610 v=3 ..3.. p=0.33 r=0.2246 v=2 ..4.. p=0.29 ..4.. p=0.06 r=0.0760 v=1 ..26.. ..61.. ..26.. p=0.06 r=0.0656 v=2 ..60.. p=0.02 r=0.0410 v=1 ..62.. p=0.37 r=0.0448 v=1 p=0.47 r=0.0613 v=1 p=0.16 ..58.. ..61.. p=0.29 r=0.0486 v=1 p=0.37 r=0.1091 v=1 ..2.. ..58.. ..61..

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 44 / 72

slide-62
SLIDE 62

RL-CoP setup summary

  • 1. Representation:

a search in the tree should correspond to a tableaux

<=>

  • 3. Explore the

node and backup the found reward to all nodes above

  • 6. Repeat

100 times

  • 9. Repeat!
  • 2. Playout: follow

maximum UCT until unexplored node

  • 5. Focus on

most visited node

  • 4. Repeat

1000 times

  • 7. Do this for all
  • theorems. We get

many sequences

  • f focused steps
  • 8. Train new

predictors for policy and value using the seqs.

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 45 / 72

slide-63
SLIDE 63

RL-CoP setup summary

  • 1. Representation:

a search in the tree should correspond to a tableaux

<=>

  • 3. Explore the

node and backup the found reward to all nodes above

  • 6. Repeat

100 times

  • 9. Repeat!
  • 2. Playout: follow

maximum UCT until unexplored node

  • 5. Focus on

most visited node

  • 4. Repeat

1000 times

  • 7. Do this for all
  • theorems. We get

many sequences

  • f focused steps
  • 8. Train new

predictors for policy and value using the seqs.

Theorem proving requiring significant hardware

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 45 / 72

slide-64
SLIDE 64

ATP versus learned ATP

ATPs tend to find short proofs.

Learning helps only minimally Graph Representations for Higher-Order Logic and Theorem Proving

[A. Paliwal et.al., 2019]

Cumulative proof lengths of rlCoP on the Mizar Mathematical Library

[NeurIPS 2018]

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 46 / 72

slide-65
SLIDE 65

Main aims of FLoP

[Zombori’2019]

Build an internal guidance system that can find long proofs Find a domain that is simple enough to analyse the inner workings of the prover At first, try to learn from very few problems (with given or without given proofs) Try to generalize to harder problems (longer proofs) with a similar structure

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 47 / 72

slide-66
SLIDE 66

Domain: Robinson Arithmetic

Prove simple ground equalities Proofs are non trivial, but have a strong shared structure Proof lengths can get very long as numbers increase See how little supervision is required to learn some proof types

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 48 / 72

slide-67
SLIDE 67

Challenges for RL for TP

Theorem proving as a 1 person game Meta-Learning task: each problem is a new maze: train on some, evaluate

  • n others

Sparse, binary rewards Defining good features Action space not fixed: different across steps and across problems

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 49 / 72

slide-68
SLIDE 68

Challenges for RL for TP

Theorem proving as a 1 person game Meta-Learning task: each problem is a new maze: train on some, evaluate

  • n others

Sparse, binary rewards Defining good features Action space not fixed: different across steps and across problems

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 49 / 72

slide-69
SLIDE 69

FLoP

External guidance based on RL

Theorem Prover encapsulated as an environment Use curriculum learning

Applicable when we know the proof of a problem

More efficient use of training signals Start learning from the end of the proof Gradually move starting step towards the beginning of proof

Proximal Policy Optimization (PPO)

Actor learns a policy (what steps to take) Critic learns a value (how promising is a proof state) Actor is confined to change slowly to increase stability

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 50 / 72

slide-70
SLIDE 70

Datasets

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 51 / 72

slide-71
SLIDE 71

Evaluation

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 52 / 72

slide-72
SLIDE 72

Learning for ATPs: Summary and next steps

For some calculi major improvement

Learning for Resolution-style systems open

Learn features RL prefers shorter proofs

but they may not be the ones that generalize best

Evaluate with backtracking Scale to more interesting domains

Bolzano–Weierstrass

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 53 / 72

slide-73
SLIDE 73

Communication with a Proof Assistant

The prover does not get what I mean

Completely clear things need to be fully expanded Even if I said it 100 times, I have to say it again

(or implement the expansion)

Compared to a student

Proof assistant does not get what I mean Cannot repeat a simple action

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 54 / 72

slide-74
SLIDE 74

Proof assistant – assistant

Given some text, the assistant can say

What you wrote What you wanted to write

(What I think you meant)

Does it make sense

Can I be convinced of this (Can I prove this∗)

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 55 / 72

slide-75
SLIDE 75

Proof assistant – assistant

Given some text, the assistant can say

What you wrote What you wanted to write

(What I think you meant)

Does it make sense

Can I be convinced of this (Can I prove this∗)

Tasks

Understand L

AT

EX formulas, as well as some text Translate it to logic (of a/the proof assistant) Report on the success

Questions

Can we (a computer) learn how to state lemmas formally? Can we (a computer) learn to prove?

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 55 / 72

slide-76
SLIDE 76

Demo

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 56 / 72

slide-77
SLIDE 77

Why don’t we have this? (1/2)

Claus Zinn and others tried and have not arrived very far because: lack of background knowledge lack of powerful automated reasoning lack of self-adapting translation

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 57 / 72

slide-78
SLIDE 78

Why don’t we have this? (1/2)

Claus Zinn and others tried and have not arrived very far because: lack of background knowledge lack of powerful automated reasoning lack of self-adapting translation But huge machine learning progress

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 57 / 72

slide-79
SLIDE 79

Why don’t we have this? (2/2)

Controlled languages

Ranging from Naproche and MathLang to Mizar

Easy start but huge number of patterns

100 most frequent patterns cover half of 42,931 ProofWiki sentences

[CICM’14]

5829 Let $?$ be [?]. 2688 Let $?$. 774 Then $?$ is [?]. 736 Let $?$ be [?] of $?$. 724 Let $?$ and $?$ be [?]. 578 Let $?$ be the [?] of $?$. 555 Let $?$ be the [?].

But can go very far

Thousands of manually entered patterns

[Matsuzaki+’16,’17]

Better than humans on university entrance exams (some domains)

[Arai+’18]

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 58 / 72

slide-80
SLIDE 80

Learning data: Aligned corpora

Dense Sphere Packings: A Blueprint for Formal Proofs

400 theorems and 200 concepts mapped

[Hales13]

IsaFoR

[SternagelThiemann14]

most of “Term Rewriting and All That”

[BaaderNipkow]

Compendium of Continuous Lattices (CCL)

60% formalized in Mizar

[BancerekRudnicki02]

high-level concepts and theorems aligned

Feit-Thompson theorem by Gonthier

[Gonthier13]

Two graduate books

detailed proofs and symbol linking in Wikipedia, ProofWiki, PlanetMath, ...

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 59 / 72

slide-81
SLIDE 81

Aligned corpora: Kepler Example

Document: Informal Formal Definition of [fan, blade] DSKAGVP (fan) [fan FAN] Let be a pair consisting of a set and a set

  • f unordered pairs of distinct elements
  • f

. The pair is said to be a fan if the following properties hold. (CARDINALITY) is finite and nonempty. [cardinality fan1] 1. (ORIGIN) . [origin fan2] 2. (NONPARALLEL) If , then and are not parallel. [nonparallel fan6] 3. (INTERSECTION) For all , [intersection fan7] 4. When , call

  • r

a blade of the fan.

basic properties

The rest of the chapter develops the properties of fans. We begin with a completely trivial consequence of the definition. Informal Formal Lemma [] CTVTAQA (subset-fan) If is a fan, then for every , is also a fan. Proof This proof is elementary. Informal Formal Lemma [fan cyclic] XOHLED [ set_of_edge] Let be a fan. For each , the set is cyclic with respect to . Proof If , then and are not parallel. Also, if , then Article Raw Log in ↔ (V , E) V ⊂ R3 E V V ↔ 0 ∉ V ↔ {v, w} ∈ E v w ↔ ε, ∈ E ∪ {{v} : v ∈ V } ε′ ↔ C(ε) ∩ C( ) = C(ε ∩ ). ε′ ε′ ε ∈ E (ε) C0 C(ε) (V , E) ⊂ E E′ (V , ) E′ E(v) ↔ (V , E) v ∈ V E(v) = {w ∈ V : {v, w} ∈ E} (0, v) w ∈ E(v) v w w ≠ ∈ E(v) w′ Document: Informal Formal

#DSKAGVP? let FAN=new_definition`FAN(x,V,E) <=> ((UNIONS E) SUBSET V) /\ graph(E) /\ fan1(x,V,E) /\ fan2(x,V,E)/\ fan6(x,V,E)/\ fan7(x,V,E)`;;

basic properties

The rest of the chapter develops the properties of fans. We begin with a completely trivial consequence of the definition. Informal Formal

let CTVTAQA=prove(`!(x:real^3) (V:real^3->bool) (E:(real^3->bool)->bool) (E1:(real^3->bool)->bool). FAN(x,V,E) /\ E1 SUBSET E ==> FAN(x,V,E1)`, REPEAT GEN_TAC THEN REWRITE_TAC[FAN;fan1;fan2;fan6;fan7;graph] THEN ASM_SET_TAC[]);;

Informal Formal

let XOHLED=prove(`!(x:real^3) (V:real^3->bool) (E:(real^3->bool)->bool) (v:real^3). FAN(x,V,E) /\ v IN V ==> cyclic_set (set_of_edge v V E) x v`, MESON_TAC[CYCLIC_SET_EDGE_FAN]);;

Informal Formal Remark [easy consequences of the definition] WCXASPV (fan) Let be a fan. The pair is a graph with nodes and edges . The set is the set of edges at node . There is an evident symmetry: if and only if . 1. [ sigma_fan] [ inverse1_sigma_fan] Since is cyclic, each has an azimuth cycle . The set can reduce to a 2.

  • singleton. If so,

is the identity map on . To make the notation less cumbersome, denotes the value of the map at . The property (NONPARALLEL) implies that the graph has no loops: . 1. The property (INTERSECTION) implies that distinct sets do not meet. This property of fans is eventually related to the planarity of hypermaps. 2. Article Raw Log in (V , E) (V , E) V E {{v, w} : w ∈ E(v)} v w ∈ E(v) v ∈ E(w) σ ↔ σ(v)−1 ↔ E(v) v ∈ V σ(v) : E(v) → E(v) E(v) σ(v) E(v) σ(v, w) σ(v) w {v, v} ∉ E (ε) C0

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 60 / 72

slide-82
SLIDE 82

Aligned corpora: Kepler Example

596 formulas from the Flyspeck book extracted with L

AT

EXML

Translation to HOL Light based on a small table 17% same as formal ones

Too hard

make more precise examples or

[ongoing]

start with simpler ones

[ITP’15 +]

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 61 / 72

slide-83
SLIDE 83

Informalization

22000 Flyspeck statements informalized

72 overloaded instances like “+” for vector add 108 infix operators forget all “prefixes”

real , int , vector , nadd , hreal , matrix , complex ccos, cexp, clog, csin, ... vsum, rpow, nsum, list sum, ...

Deleting all brackets, type annotations, and casting functors

Cx and real of num (which alone is used 17152 times).

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 62 / 72

slide-84
SLIDE 84

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 63 / 72

slide-85
SLIDE 85

CYK and parsing — just a little

Induce PCFG (probabilistic context-free grammar) from term trees

inner nodes → rules frequencies → probabilities

Binarize PCFG grammar for efficiency CYK parses ambiguous sentences

  • utputs most probable parse trees

tweak: small probability for each symbol to be a variable

Pruning

Compatible types for free variables in subtrees HOL type-checking Hammer

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 64 / 72

slide-86
SLIDE 86

Example tree inducing grammar

"(Type bool)" ! "(Type (fun real bool))" Abs "(Type real)" "(Type bool)" Var A0 "(Type real)" = "(Type real)" real_neg "(Type real)" real_neg "(Type real)" Var Var A0

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 65 / 72

slide-87
SLIDE 87

Statistics

Just PFG

[ITP’15]

39.4% of the Flyspeck sentences parsed correctly average rank: 9.34

Problems with PCFG and CYK

1 ∗ x + 2 ∗ x

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 66 / 72

slide-88
SLIDE 88

Statistics

Just PFG

[ITP’15]

39.4% of the Flyspeck sentences parsed correctly average rank: 9.34

Problems with PCFG and CYK

1 ∗ x + 2 ∗ x

Use deeper trees

[ITP 2017]

semantic pruning + subtree depth 4-8 + substitution trees 83% sentences parsed correctly average rank: 1.93

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 66 / 72

slide-89
SLIDE 89

Types helped us - what about no types?

Mizar

Developed by mathematicians for mathematicians Many features significantly different from the usual

How would you formalize:

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 67 / 72

slide-90
SLIDE 90

Mizar Statistics

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 68 / 72

slide-91
SLIDE 91

Sequence-to-sequence models: decoder/encoder RNN

[Luong et al’15]

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 69 / 72

slide-92
SLIDE 92

Sequence-to-sequence models: decoder/encoder RNN

[Luong et al’15]

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 69 / 72

slide-93
SLIDE 93

Neural Auto-formalization

[CICM’18] Identical Statements Best Model

  • 1024 Units

69179 (total) 22978 (no-overlap) 65.73% 47.77%

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 70 / 72

slide-94
SLIDE 94

Neural Auto-formalization

[CICM’18] Identical Statements Best Model

  • 1024 Units

69179 (total) 22978 (no-overlap) 65.73% 47.77% Top-5 Greedy Cover

  • 1024 Units
  • 4-Layer Bi. Res.
  • 512 Units
  • 6-Layer Adam Bi. Res.
  • 2048 Units

78411 (total) 28708 (no-overlap) 74.50% 59.68% Top-10 Greedy Cover

  • 1024 Units
  • 4-Layer Bi. Res.
  • 512 Units
  • 6-Layer Adam Bi. Res.
  • 2048 Units
  • 2-Layer Adam Bi. Res.
  • 256 Units
  • 5-Layer Adam Res.
  • 6-Layer Adam Res.
  • 2-Layer Bi. Res.

80922 (total) 30426 (no-overlap) 76.89% 63.25% Union of All 39 Models 83321 (total) 32083 (no-overlap) 79.17% 66.70%

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 70 / 72

slide-95
SLIDE 95

Neural Auto-formalization

[CICM’18] Identical Statements ≤ 1 ≤ 2 ≤ 3 Best Model

  • 1024 Units

69179 (total) 22978 (no-overlap) 65.73% 47.77% 74.58% 59.91% 86.07% 70.26% 88.73% 74.33% Top-5 Greedy Cover

  • 1024 Units
  • 4-Layer Bi. Res.
  • 512 Units
  • 6-Layer Adam Bi. Res.
  • 2048 Units

78411 (total) 28708 (no-overlap) 74.50% 59.68% 82.07% 70.85% 87.27% 78.84% 89.06% 81.76% Top-10 Greedy Cover

  • 1024 Units
  • 4-Layer Bi. Res.
  • 512 Units
  • 6-Layer Adam Bi. Res.
  • 2048 Units
  • 2-Layer Adam Bi. Res.
  • 256 Units
  • 5-Layer Adam Res.
  • 6-Layer Adam Res.
  • 2-Layer Bi. Res.

80922 (total) 30426 (no-overlap) 76.89% 63.25% 83.91% 73.74% 88.60% 81.07% 90.24% 83.68% Union of All 39 Models 83321 (total) 32083 (no-overlap) 79.17% 66.70% 85.57% 76.39% 89.73% 82.88% 91.25% 85.30%

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 70 / 72

slide-96
SLIDE 96

Machine Learning applied to informal LaTeX

[Karpathy’16]

Linguistic methods

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 71 / 72

slide-97
SLIDE 97

Final Summary / Take Home

Proofs are hard Machine learning key to most powerful proof assistant automation Older but very efficient algorithms with significant adjustments Many other learning problems and scenarios

Not covered

Learning strategy selection [Jakubuv,Urban] Kernel methods [K¨ uhlwein] Deep Prolog [Rockt¨ aschel] Semantic Features, Conecturing Tactic selection [Nagashima,...] SVM [Holden] Adversarial Networks [Szegedy] Human proof optimization Theory exploration [Bundy+] Concept Alignment [Gauthier] ...

Cezary Kaliszyk Artificial Intelligence in Theorem Proving 72 / 72