460 likes | 567 Vues
A Language for Mathematical Knowledge Management. Steve Kieffer Carnegie Mellon University. What is Mathematical Knowledge?. Theorems Definitions Proofs. How do we “manage” it?. Experts Books Wikipedia?. Idea for MKM: Encyclopedia Entries, Stored in Computers.
                
                E N D
A Language for Mathematical Knowledge Management Steve Kieffer Carnegie Mellon University
What is Mathematical Knowledge? • Theorems • Definitions • Proofs
How do we “manage” it? • Experts • Books • Wikipedia?
What do we want to do with mathematical knowledge? • Learn it • Add to it • Study its history • Formally verify it • Study its logical structure • ...
My Work • 1. Parser • 2. Database of definitions • 3. Translator • 4. Statistics on logical structure • 5. GUI for concept exploration
LPT • Designed by Friedman • Adds nice features to language of set theory
Terms in LPT Ordered tuples:
Terms in LPT Function evaluation:
Terms in LPT Infix functions:
Terms in LPT Sets:
Terms in LPT Descriptions:
Terms in LPT Lambda abstraction:
Formulas in LPT Predication:
Formulas in LPT Infix relations:
Formulas in LPT Quantifiers:
E T T F  ( ) F E a T E  T F a F a What is parsing? (aa)  a
E T T F  ( ) F E a T E  T F a F a [[[([[[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
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] rel’n var var var var var var var formula tuple formula term formula FCN [ f ]  f = { < x , y > : f ( x ) = y }
Parsing method • Earley algorithm • n3 runtime • parses any context free grammar
T T F  ( ) F E a T E  T F a F a Simple example E Grammar: E T  E E  T T  F  T T  F F  ( E ) F  a Input: ( a  a )  a
I2 [F  a , 1] [T  F   T, 1] [T  F  , 1] [E  T   E, 1] [E  T , 1] [F  (E  ), 0] I2 [F  a , 1] [T  F   T, 1] [T  F  , 1] [E  T   E, 1] [E  T , 1] [F  (E  ), 0] 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] 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] 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] 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] I7 [F  a , 6] [T  F   T, 6] [T  F  , 6] [T  F  T , 0] [E  T   E, 0] [E  T , 0] I7 [F  a , 6] [T  F   T, 6] [T  F  , 6] [T  F  T , 0] [E  T   E, 0] [E  T , 0] I7 [F  a , 6] [T  F   T, 6] [T  F  , 6] [T  F  T , 0] [E  T   E, 0] [E  T , 0] 64642156432 64642156432 64642156432 64642156432 64642156432 64642156432 64642156432 64642156432 64642156432 64642156432 Earley algorithm I2 [F  a , 1] [T  F   T, 1] [T  F  , 1] [E  T   E, 1] [E  T , 1] [F  (E  ), 0] 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] Grammar: (1) (2) (3) (4) (5) (6) E T  E E  T T  F  T T  F F  ( E ) F  a 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] 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] I5 [F  (E)  , 0] [T  F   T, 0] [T  F  , 0] [E  T   E, 0] [E  T , 0] Input: 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] I7 [F  a , 6] [T  F   T, 6] [T  F  , 6] [T  F  T , 0] [E  T   E, 0] [E  T , 0] ( a  a )  a 64642156432
My Work • 1. Parser • 2. Database of definitions • 3. Translator • 4. Statistics on logical structure • 5. GUI for concept exploration
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.
My Work • 1. Parser • 2. Database of definitions • 3. Translator • 4. Statistics on logical structure • 5. GUI for concept exploration
Directed Acyclic Graph (DAG) of Conceptual Dependencies Depth: 4 Size: 5
Definitional axiom for PORD in DZFC: Definiens for PORD: : : : Expanding formulas To expand, locate the definiens for each defined concept appearing above. Then plug in.
Expanding formulas The result:
Three expansion levels • 1. No expansion • 2. Total expansion • 3. Partial – lowest foundational concepts left unexpanded
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
Quantifier depth data (out of 341 definitions)
My Work • 1. Parser • 2. Database of definitions • 3. Translator • 4. Statistics on logical structure • 5. GUI for concept exploration
Summary • 1. Parser • 2. Database of definitions • 3. Translator • 4. Statistics on logical structure • 5. GUI for concept exploration