a language for mathematical knowledge management steve kieffer carnegie mellon university

46
A Language for Mathematical Knowledge Management Steve Kieffer Carnegie Mellon University

Post on 22-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

A Language for Mathematical Knowledge Management

Steve Kieffer

Carnegie Mellon University

2

What is Mathematical Knowledge?

Theorems Definitions Proofs

3

How do we “manage” it?

Experts Books Wikipedia?

4

Idea for MKM: Encyclopedia Entries, Stored in Computers

5

How transparent is the entry, to the computer?

6

What do we want to do with mathematical knowledge?

Learn it Add to it Study its history Formally verify it Study its logical structure ...

7

My Work

1. Parser 2. Database of definitions 3. Translator 4. Statistics on logical structure 5. GUI for concept exploration

8

Choice of Language

9

Choice of Language

10

Mizar

11

LPT

Designed by Friedman Adds nice features to language of set theory

12

Terms in LPT

Ordered tuples:

13

Terms in LPT

Function evaluation:

14

Terms in LPT

Infix functions:

15

Terms in LPT

Sets:

16

Terms in LPT

Descriptions:

17

Terms in LPT

Lambdaabstraction:

18

Formulas in LPT

Predication:

19

Formulas in LPT

Infix relations:

20

Formulas in LPT

Quantifiers:

21

R is a partial order on A

22

R is a partial order on A

23

What is parsing?

(a a) a

ET

F

a(

)

TFE

T E

aF

a

TF

[[[([[[a]F]T[[[a]F]T]E]E)]F[[a]F]T]T]E[[[([[[a]F]T[[[a]F]T]E]E)]F[[a]F]T]T]E[[[([[[a]F]T[[[a]F]T]E]E)]F[[a]F]T]T]E[[[([[[a]F]T[[[a]F]T]E]E)]F[[a]F]T]T]E[[[([[[a]F]T[[[a]F]T]E]E)]F[[a]F]T]T]E[[[([[[a]F]T[[[a]F]T]E]E)]F[[a]F]T]T]E[[[([[[a]F]T[[[a]F]T]E]E)]F[[a]F]T]T]E[[[([[[a]F]T[[[a]F]T]E]E)]F[[a]F]T]T]E[[[([[[a]F]T[[[a]F]T]E]E)]F[[a]F]T]T]E[[[([[[a]F]T[[[a]F]T]E]E)]F[[a]F]T]T]E[[[([[[a]F]T[[[a]F]T]E]E)]F[[a]F]T]T]E[[[([[[a]F]T[[[a]F]T]E]E)]F[[a]F]T]T]E

ET

F

a(

)

TFE

T E

aF

a

TF

[ ][ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]var var var var var var varrel’n ][

formula

[ ]tuple

[ ]formula

[ ]term

formula

FCN [ f ] f = { < x , y > : f ( x ) = y }

26

Parsing method

Earley algorithm n3 runtime parses any context free grammar

Simple example

E T EE T T F T T F F ( E )F a

Grammar:

Input:

( a a ) a

E

T

F T

Fa

( )E

T E

T

Fa

Fa

Earley algorithm

E T EE T T F T T F F ( E )F a

Grammar:

Input:

( a a ) a

I0

[E T E, 0][E T, 0][T F T, 0][T F, 0][F (E), 0][F a, 0]

I1

[F ( E), 0][E T E, 1][E T, 1][T F T, 1][T F, 1][F (E), 1][F a, 1]

I2

[F a , 1][T F T, 1][T F , 1][E T E, 1][E T , 1][F (E ), 0]

I3

[E T E, 1][E T E, 3][E T, 3][T F T, 3][T F, 3][F (E), 3][F a, 3]

I4

[F a , 3][T F T, 3][T F , 3][E T E, 3][E T , 3][E T E , 1][F (E ), 0]

I5

[F (E) , 0][T F T, 0][T F , 0][E T E, 0][E T , 0]

I6

[T F T, 0][T F T, 6][T F, 6][F (E), 6][F a, 6]

I7

[F a , 6][T F T, 6][T F , 6][T F T , 0][E T E, 0][E T , 0]

(1)(2)(3)(4)(5)(6)

I7

[F a , 6][T F T, 6][T F , 6][T F T , 0][E T E, 0][E T , 0]

64642156432

I7

[F a , 6][T F T, 6][T F , 6][T F T , 0][E T E, 0][E T , 0]

64642156432

I7

[F a , 6][T F T, 6][T F , 6][T F T , 0][E T E, 0][E T , 0]

64642156432

I7

[F a , 6][T F T, 6][T F , 6][T F T , 0][E T E, 0][E T , 0]

64642156432

I5

[F (E) , 0][T F T, 0][T F , 0][E T E, 0][E T , 0]

64642156432

I4

[F a , 3][T F T, 3][T F , 3][E T E, 3][E T , 3][E T E , 1][F (E ), 0]

64642156432

I4

[F a , 3][T F T, 3][T F , 3][E T E, 3][E T , 3][E T E , 1][F (E ), 0]

6464215643264642156432

I4

[F a , 3][T F T, 3][T F , 3][E T E, 3][E T , 3][E T E , 1][F (E ), 0]

64642156432

I4

[F a , 3][T F T, 3][T F , 3][E T E, 3][E T , 3][E T E , 1][F (E ), 0]

64642156432

I2

[F a , 1][T F T, 1][T F , 1][E T E, 1][E T , 1][F (E ), 0]

64642156432

I2

[F a , 1][T F T, 1][T F , 1][E T E, 1][E T , 1][F (E ), 0]

29

My Work

1. Parser 2. Database of definitions 3. Translator 4. Statistics on logical structure 5. GUI for concept exploration

30

Translation

LPT as language for proof system? Set up translation to make database useable. Database has set-theoretic foundational

definitions (e.g. von Neumann ordinals). Translate into DZFC (“Definitional ZFC”), a

conservative extension of ZFC.

31

Comparison: LPT vs. DZFC

32

Comparison: LPT vs. DZFC

33

Comparison: LPT vs. DZFC

34

My Work

1. Parser 2. Database of definitions 3. Translator 4. Statistics on logical structure 5. GUI for concept exploration

35

Directed Acyclic Graph (DAG) of Conceptual Dependencies

Depth: 4 Size: 5

36

DAG data

Max MeanDepth 32 10.77Size 110 29.56

DAG depths

0

5

10

15

20

25

30

35

40

0 5 10 15 20 25 30 35

Depth

Fre

qu

en

cy

DAG depths

38

Quantifier depth: alternating or non-alternating

39

Expanding formulas

Definitional axiom for PORD in DZFC:

To expand, locate the definiens for each defined conceptappearing above.

:

:

:

Then plug in.

Definiens for PORD:

40

Expanding formulas

The result:

41

Three expansion levels

1. No expansion 2. Total expansion 3. Partial – lowest foundational concepts left

unexpanded

42

Eight data points

LPT unexpanded DZFC fully expanded DZFC partially expanded DZFC alt. LPT alt. unexpanded DZFC alt. fully expanded DZFC alt. partially expanded DZFC

43

Quantifier depth data

Max MeanLPT 4 0.66unexpanded DZFC 5 1.31fully expanded DZFC 1235 78.68partially expanded DZFC 552 38.54

alt. LPT 3 0.63alt. unexpanded DZFC 5 1.18alt. fully expanded DZFC 422 36.19alt.partially expanded DZFC 239 22.16

44

Quantifier depth data

Depth LPT alt. LPT0 178 1781 118 1202 30 353 14 84 1 0

Occurrences

(out of 341 definitions)

45

My Work

1. Parser 2. Database of definitions 3. Translator 4. Statistics on logical structure 5. GUI for concept exploration

46

Summary

1. Parser 2. Database of definitions 3. Translator 4. Statistics on logical structure 5. GUI for concept exploration