machine learning for the working logician (computer scientist)ek19/mlcap-man/dagstuhl.pdf · katya...

48
Machine Learning for the Working Logician (Computer Scientist) Katya Komendantskaya AI meets Formal Software Development July 2012 Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 1 / 30

Upload: others

Post on 13-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Machine Learning for the Working Logician (ComputerScientist)

Katya Komendantskaya

AI meets Formal Software Development

July 2012

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 1 / 30

Page 2: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Outline

1 Motivation

2 First experiments

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 2 / 30

Page 3: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Outline

1 Motivation

2 First experiments

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 2 / 30

Page 4: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

Why Machine-Learning?

... Digital era means most of information (in science, industries, evenart!) is stored/handled in electronic form.

... Computer-generated data may not make much sense to humanusers; or in fact, other computers!

The volumes of data make it infeasible to be processed andinterpreted manually.

... the only hope is, our machine-learning algorithms become fast andclever enough to do that dirty (pre-processing) work for us!

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 3 / 30

Page 5: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

Why Machine-Learning?

... Digital era means most of information (in science, industries, evenart!) is stored/handled in electronic form.

... Computer-generated data may not make much sense to humanusers; or in fact, other computers!

The volumes of data make it infeasible to be processed andinterpreted manually.

... the only hope is, our machine-learning algorithms become fast andclever enough to do that dirty (pre-processing) work for us!

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 3 / 30

Page 6: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

Why Machine-Learning?

... Digital era means most of information (in science, industries, evenart!) is stored/handled in electronic form.

... Computer-generated data may not make much sense to humanusers; or in fact, other computers!

The volumes of data make it infeasible to be processed andinterpreted manually.

... the only hope is, our machine-learning algorithms become fast andclever enough to do that dirty (pre-processing) work for us!

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 3 / 30

Page 7: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

Why Machine-Learning?

... Digital era means most of information (in science, industries, evenart!) is stored/handled in electronic form.

... Computer-generated data may not make much sense to humanusers; or in fact, other computers!

The volumes of data make it infeasible to be processed andinterpreted manually.

... the only hope is, our machine-learning algorithms become fast andclever enough to do that dirty (pre-processing) work for us!

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 3 / 30

Page 8: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

Why Machine-Learning?

... Digital era means most of information (in science, industries, evenart!) is stored/handled in electronic form.

... Computer-generated data may not make much sense to humanusers; or in fact, other computers!

The volumes of data make it infeasible to be processed andinterpreted manually.

... the only hope is, our machine-learning algorithms become fast andclever enough to do that dirty (pre-processing) work for us!

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 3 / 30

Page 9: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

So, why should we (logicians) care?

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 4 / 30

Page 10: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

So, why should we (logicians) care?

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 4 / 30

Page 11: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

The answer is...

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 5 / 30

Page 12: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

The answer is...

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 5 / 30

Page 13: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

The answer is...

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 5 / 30

Page 14: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

The answer is...

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 5 / 30

Page 15: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

No matter what your personal choice is, . . .

... increasingly, theorems [be it mathematics or software/hardwareverification] are proven IN automated provers.

... electronic libraries may be data-mined (Learn2Reason);

... proof-search as process, in routine cases, can be statisticallyanalysed (e.g. H.Duncan, Schulz et al.).

Manual handling of various proofs, strategies, libraries, becomesdifficult.

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 6 / 30

Page 16: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

No matter what your personal choice is, . . .

... increasingly, theorems [be it mathematics or software/hardwareverification] are proven IN automated provers.

... electronic libraries may be data-mined (Learn2Reason);

... proof-search as process, in routine cases, can be statisticallyanalysed (e.g. H.Duncan, Schulz et al.).

Manual handling of various proofs, strategies, libraries, becomesdifficult.

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 6 / 30

Page 17: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

No matter what your personal choice is, . . .

... increasingly, theorems [be it mathematics or software/hardwareverification] are proven IN automated provers.

... electronic libraries may be data-mined (Learn2Reason);

... proof-search as process, in routine cases, can be statisticallyanalysed (e.g. H.Duncan, Schulz et al.).

Manual handling of various proofs, strategies, libraries, becomesdifficult.

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 6 / 30

Page 18: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

No matter what your personal choice is, . . .

... increasingly, theorems [be it mathematics or software/hardwareverification] are proven IN automated provers.

... electronic libraries may be data-mined (Learn2Reason);

... proof-search as process, in routine cases, can be statisticallyanalysed (e.g. H.Duncan, Schulz et al.).

Manual handling of various proofs, strategies, libraries, becomesdifficult.

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 6 / 30

Page 19: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

Main applications in Automated Theorem Proving:

Where can we use ML?

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 7 / 30

Page 20: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

ML in other areas of (Computer) Science:

Where data is abundant, and needs quick automated classification:

robotics (from space rovers to small apps in domestic apploences,cars...);

image processing;

natural language processing;

web search;

computer network analysis;

Medical diagnostics;

etc, etc, ...

In all these areas, ML is a common tool-of-the-trade of the ComputerScientists, additional to their primary research specialisation.Will this practice come to Automated theorem proving?

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 8 / 30

Page 21: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

Automated reasoning does not need ML applications

...where AR does not need help

verification (unlike inMedical diagnosis)

language parsing (unlike inNLP)

... where we do not trust them

new theoreticalbreak-throughs (formulationof new theorems);

giving semantics to data (cf.Deep learning).

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 9 / 30

Page 22: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

Automated reasoning does not need ML applications

...where AR does not need help

verification (unlike inMedical diagnosis)

language parsing (unlike inNLP)

... where we do not trust them

new theoreticalbreak-throughs (formulationof new theorems);

giving semantics to data (cf.Deep learning).

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 9 / 30

Page 23: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

So,...

where do we both need ML-tools and trust them?

... will likely to be answered by the community of developers/practitioners,in the long run...

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 10 / 30

Page 24: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

Motivation

So,...

where do we both need ML-tools and trust them?

... will likely to be answered by the community of developers/practitioners,in the long run...

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 10 / 30

Page 25: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Outline

1 Motivation

2 First experiments

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 11 / 30

Page 26: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Data: coinductive proof-trees

stream(x)

θ1→stream(scons(z, y))

bit(z) stream(y)

θ2→stream(scons(0, scons(y1, z1)))

bit(0)

stream(scons(y1, z1))

bit(y1) stream(z1)

Coinductive LP:

bit(0) ←bit(1) ←

stream(scons (x,y)) ← bit(x), stream(y)

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 12 / 30

Page 27: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

li(c(x, c(y, z)))

nat(x) li(c(y, z))

nat(y) li(z)

→li(c(s(w), c(s(w), nil)))

nat(s(w))

nat(w)

li(c(s(w), nil)

nat(s(w))

nat(w)

li(nil)

→li(c(s(0), c(s(0), nil)))

nat(s(0))

nat(0)

li(c(s(0), nil)

nat(s(0))

nat(0)

li(nil)

nat(0) ←nat(s(x)) ← nat(x)

list(nil) ←list(cons (x,y)) ← nat(x), list(y)

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 13 / 30

Page 28: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Experiment setting:

1 Big data sets of the proof trees for various programs;

2 An algorithm is used to convert the Proof-trees into feature vectors;

3 Three-layer back-propagation neural networks used for supervisedlearning.

All these and more details:

http://www.computing.dundee.ac.uk/staff/katya/MLCAP-man/

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 14 / 30

Page 29: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Classification task-1: well formed and ill-formed proofs

Accuracy of Neural Network recognition:

84.3% for Stream; 76.4% for List.

Well-formed

list(cons(x, cons(y, x)))

nat(x) list(cons(y, x))

nat(y) list(x)

Ill-formed

list(cons(x, cons(y, x)))

nat(x)

list(cons(y, x))

nat(y)

list(x)

�Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 15 / 30

Page 30: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Possible use in Automated Proofs?

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 16 / 30

Page 31: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Classification task-2: Discovery of Proof-families (amongwell-formed proofs)

Accuracy of Neural Network recognition:

99.1% for Stream; 96.3% for List.

li(c(x, c(y, z)))

nat(x) li(c(y, z))

nat(y) li(z)

→li(c(s(w), c(s(w), nil)))

nat(s(w))

nat(w)

li(c(s(w), nil)

nat(s(w))

nat(w)

li(nil)

→li(c(s(0), c(s(0), nil)))

nat(s(0))

nat(0)

li(c(s(0), nil)

nat(s(0))

nat(0)

li(nil)

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 17 / 30

Page 32: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Classification task-2: Discovery of Proof-families

Negative examples

Well-formed trees on the right do not belomg to the proof familygenerated by the tree on the left.

list(cons(s(O), nil)))

nat(s(O))

nat(O)

list(nil)

list(nil)

nat(cons(x, cons(y, x)))

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 18 / 30

Page 33: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Possible use in Automated Proofs?

Cutting intermediate and routine proof-steps;

Proof Speed up;

Proof un-clattering;

Generating suggestions (early warnings) if a certain proof step...

belongs (or not) to a certain desired (previously discovered) prooffamily;

e.g. Note: this proof-step belongs to the family of proofs in

library N.

belongs (or not) to a certain “bad” family discovered before;

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 19 / 30

Page 34: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Possible use in Automated Proofs?

Cutting intermediate and routine proof-steps;

Proof Speed up;

Proof un-clattering;

Generating suggestions (early warnings) if a certain proof step...

belongs (or not) to a certain desired (previously discovered) prooffamily;

e.g. Note: this proof-step belongs to the family of proofs in

library N.

belongs (or not) to a certain “bad” family discovered before;

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 19 / 30

Page 35: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Possible use in Automated Proofs?

Cutting intermediate and routine proof-steps;

Proof Speed up;

Proof un-clattering;

Generating suggestions (early warnings) if a certain proof step...

belongs (or not) to a certain desired (previously discovered) prooffamily;

e.g. Note: this proof-step belongs to the family of proofs in

library N.

belongs (or not) to a certain “bad” family discovered before;

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 19 / 30

Page 36: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Possible use in Automated Proofs?

Cutting intermediate and routine proof-steps;

Proof Speed up;

Proof un-clattering;

Generating suggestions (early warnings) if a certain proof step...

belongs (or not) to a certain desired (previously discovered) prooffamily;

e.g. Note: this proof-step belongs to the family of proofs in

library N.

belongs (or not) to a certain “bad” family discovered before;

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 19 / 30

Page 37: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Classification task-3: Discovery of Success Proof-families

Accuracy of Neural Network recognition:

86% for List.

li(c(x, c(y, z)))

nat(x) li(c(y, z))

nat(y) li(z)

→li(c(s(w), c(s(w), nil)))

nat(s(w))

nat(w)

li(c(s(w), nil)

nat(s(w))

nat(w)

li(nil)

→li(c(s(0), c(s(0), nil)))

nat(s(0))

nat(0)

li(c(s(0), nil)

nat(s(0))

nat(0)

li(nil)

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 20 / 30

Page 38: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Classification task-3: Discovery of Success Proof-families

Negative training example:

list(c(x, c(y, x)))

nat(x) list(c(y, x))

nat(y) list(x)

→list(c(0, c(y, 0)))

nat(0)

list(c(y, 0)

nat(y) list(0)

→list(c(0, c(0, 0)))

nat(0)

list(c(0, 0)

nat(0)

list(0)

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 21 / 30

Page 39: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Possible use in Automated Proofs?

This is all about a goal being potentially provable (by the statistical“look” of its proof unfolding).

So, could be used for:

Guiding a proof to success...

Early warning if the proof step may contain some un-provablecontent...

Guarding the proof steps...

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 22 / 30

Page 40: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Possible use in Automated Proofs?

This is all about a goal being potentially provable (by the statistical“look” of its proof unfolding). So, could be used for:

Guiding a proof to success...

Early warning if the proof step may contain some un-provablecontent...

Guarding the proof steps...

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 22 / 30

Page 41: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Classification task-4: well-typed and ill-typed proofs in afamily (among well-formed proofs)

Accuracy of Neural Network recognition:

85.7% for Stream.

stream(x)

θ1→stream(scons(z, y))

bit(z) stream(y)

θ2→stream(scons(0, scons(y1, z1)))

bit(0)

stream(scons(y1, z1))

bit(y1) stream(z1)

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 23 / 30

Page 42: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Classification task-4: well-typed and ill-typed proofs in afamily

Negative examples:

stream(x)

θ1→stream(scons(y, y))

bit(y) stream(y)

θ2→stream(scons(scons(z, z), scons(z, z)))

bit(scons(z, z)) stream(scons(z, z))

bit(z) stream(z). . .

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 24 / 30

Page 43: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Possible use in Automated Proofs?

... same diagnostic use as with success proof families, but for cases when:

we do not observe proof leaves: e.g., when ML-tool observes onlypatches of proofs, not the whole of proof-trees;

when one works with lazy infinite proofs in coinductive cases;

when it is on-line step-by-step diagnosis.

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 25 / 30

Page 44: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Classification task-5: well-typed and ill-typed proofs.(among well-formed proofs)

Accuracy of Neural Network recognition:

82.4% for Stream.

Note: membership in a proof family is not considered.

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 26 / 30

Page 45: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Possible use in Automated Proofs?

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 27 / 30

Page 46: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Rating of the classification applications

By accuracy

1 Problem 2.

2 Problem 3.

3 Problem 4.

4 Problem 5.

5 Problem 1.

By usefulness

1 Problem

2 Problem

3 Problem

4 Problem 5?

5 Problem 1.

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 28 / 30

Page 47: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Summary: applications in Automated Theorem Proving:

Where can we use ML?

1 Early proof dead-end diagnosis;

2 Early success identification; and thus cutting routine cases;

3 Interactive proof-hint generation?

4 Simplification of representation of proofs (by cuttingroutine/intermediate steps)?

5 Generalisation of proof families to strategies (Gudmund)?

More ideas?

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 29 / 30

Page 48: Machine Learning for the Working Logician (Computer Scientist)ek19/MLCAP-man/Dagstuhl.pdf · Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July

First experiments

Conclusions

More papers, prototype software, and technical reports on these topics areavailable on my webpage. Some papers are also uploaded on Dagstuhlmeeting Wiki.

You will also find experiments/discussion of various implementationstrategies.

Katya (Dagstuhl12) Machine Learning for the Working Logician (Computer Scientist) July 2012 30 / 30