outline
play

Outline Why (and why not) proof assistants Science Fiction Proof - PowerPoint PPT Presentation

L EARNING TO P ARSE ON A LIGNED C ORPORA Cezary Kaliszyk Josef Urban Ji r Vysko cil University of Innsbruck, Austria Czech Technical University - CIIRC 1 / 22 Outline Why (and why not) proof assistants Science Fiction Proof


  1. L EARNING TO P ARSE ON A LIGNED C ORPORA Cezary Kaliszyk Josef Urban Jiˇ rí Vyskoˇ cil University of Innsbruck, Austria Czech Technical University - CIIRC 1 / 22

  2. Outline Why (and why not) proof assistants Science Fiction Proof Assistant Demo Informal and Formal Mathematics Manual and Automatic Alignment AI / ATP in parsing and proving AI / ATP in parsing and proving 2 / 22

  3. ✎ ✎ ✎ Why (and why not) proof assistants? ✎ Remarkable success ✎ “...fully certified world...” [ Harrison06 ] [ Leroy09,Asperti+12,Kumar+14 ] [ Klein+14 ] but who writes certified scripts? ✎ “...impressive mathematics...” [ Gonthier07,Gonthier13,Hales+15 ] we know them all ✎ Not for mathematicians [ Wiedijk07 ] ✎ “...nontrivial to learn...” syntax, foundations, tactics ✎ “...work...” search, level of detail, automation 3 / 22

  4. Why (and why not) proof assistants? ✎ Remarkable success ✎ “...fully certified world...” [ Harrison06 ] [ Leroy09,Asperti+12,Kumar+14 ] [ Klein+14 ] but who writes certified scripts? ✎ “...impressive mathematics...” [ Gonthier07,Gonthier13,Hales+15 ] we know them all ✎ Not for mathematicians [ Wiedijk07 ] ✎ “...nontrivial to learn...” syntax, foundations, tactics ✎ “...work...” search, level of detail, automation ✎ But we have learned how to do this! ✎ Can someone do this for me? ✎ Can a computer do this for me? 3 / 22

  5. ✎ ✎ QED+20 Workshop Discussion ✎ “...a proof assistant gets in the way, rather than helps...” ✎ A spell-checker for L A T EX does not get in the way ✎ A CAS does not get in the way ✎ Why does a proof assistant need to get in the way? ✎ Syntax much worse than L A T EX ✎ Knowledge a formal step relies on other steps being formal ✎ Understanding what is obvious ✎ Foundation issues is a type dependent? does this need reflection? 4 / 22

  6. QED+20 Workshop Discussion ✎ “...a proof assistant gets in the way, rather than helps...” ✎ A spell-checker for L A T EX does not get in the way ✎ A CAS does not get in the way ✎ Why does a proof assistant need to get in the way? ✎ Syntax much worse than L A T EX ✎ Knowledge a formal step relies on other steps being formal ✎ Understanding what is obvious ✎ Foundation issues is a type dependent? does this need reflection? ✎ Why not allow L A T EX input for PAs? ✎ Science Fiction? 4 / 22

  7. Interaction: ✎ What you wrote ✎ What you wanted to write ✎ Is it actually true ✄ 5 / 22

  8. Interaction: ✎ What you wrote ✎ What you wanted to write ✎ Is it actually true ✄ Demo 5 / 22

  9. Components of a “Science Fiction” Proof Assistant ✎ Understand L A T EX formulas, as well as some text ✎ Translate it to logic (of the proof assistant) ✎ Report on the success Questions: ✎ Can we (a computer) learn formalization? ✎ First: to state the lemmas formally? (this talk) ✎ Can we learn to prove? 6 / 22

  10. Learn parsing on big corpora: which ones? ✎ Dense Sphere Packings: A Blueprint for Formal Proofs ✎ 400 theorems and 200 concepts mapped [ Hales13 ] ✎ simple wiki ✎ IsaFoR [ SternagelThiemann14 ] ✎ most of “Term Rewriting and All That” [ BaderNipkow ] ✎ 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 ✎ ProofWiki with detailed proofs and symbol linking ✎ General topology corresponence with Mizar ✎ Similar projects (PlanetMath, ...) 7 / 22

  11. ( V , E ) ↔ ) ( V , E ′ ⊂ E ( V , E ) C ( ε ) C 0 ( ε ) ε ∈ E ε ′ ε ′ ). C ( ε ) ∩ C ( ) = C ( ε ∩ ε ′ E ( v ) ↔ ∈ E ∪ {{ v } : v ∈ V } ε , ↔ w v { v , w } ∈ E ↔ 0 ∉ V ↔ V ↔ ( V , E ) V ⊂ R 3 E ′ v ∈ V V v ∈ E ( w ) C 0 ( ε ) { v , v } ∉ E w σ ( v ) σ ( v , w ) E ( v ) σ ( v ) E ( v ) σ ( v ) : E ( v ) → E ( v ) v ∈ V E ( v ) σ ↔ w ∈ E ( v ) E ( v ) = { w ∈ V : { v , w } ∈ E } v {{ v , w } : w ∈ E ( v )} E V ( V , E ) ( V , E ) w ′ ∈ E ( v ) w ≠ w v w ∈ E ( v ) ( 0 , v ) E Aligned Formal and Informal Math - Flyspeck [ CICM13, ITP’13 ] Article Raw Log in Document: Informal Formal Definition of [fan, blade] DSKAGVP (fan) [fan FAN] Let be a pair consisting of a set and a set of unordered pairs of distinct elements of . The pair is said to be a fan if the following properties hold. 1. (CARDINALITY) is finite and nonempty. [cardinality fan1] 2. (ORIGIN) . [origin fan2] Article Raw Log in 3. (NONPARALLEL) If , then and are not parallel. [nonparallel fan6] 4. (INTERSECTION) For all , [intersection fan7] Document: Informal Formal #DSKAGVP ? When , call or a blade of the fan. 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 basic properties The rest of the chapter develops the properties of fans. We begin with a completely trivial The rest of the chapter develops the properties of fans. We begin with a completely trivial consequence of consequence of the definition. the definition. Informal Formal Informal Formal let CTVTAQA=prove(`!(x:real^3) (V:real^3->bool) (E:(real^3->bool)->bool) (E1:(real^3->bool)->bool). Lemma [] CTVTAQA (subset-fan) FAN(x,V,E) /\ E1 SUBSET E ==> FAN(x,V,E1)`, If is a fan, then for every , is also a fan. REPEAT GEN_TAC THEN REWRITE_TAC[FAN;fan1;fan2;fan6;fan7;graph] Proof THEN ASM_SET_TAC[]);; Informal Formal This proof is elementary. let XOHLED=prove(`!(x:real^3) (V:real^3->bool) (E:(real^3->bool)->bool) (v:real^3). Informal Formal FAN(x,V,E) /\ v IN V ==> cyclic_set (set_of_edge v V E) x v`, Lemma [fan cyclic] XOHLED MESON_TAC[CYCLIC_SET_EDGE_FAN]);; [ set_of_edge] Let be a fan. For each , the set Informal Formal is cyclic with respect to . Remark [easy consequences of the definition] WCXASPV (fan) Proof Let be a fan. If , then and are not parallel. Also, if , then 1. 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 . 8 / 22 2. [ sigma_fan] [ inverse1_sigma_fan] Since is cyclic, each has an azimuth σ ( v ) −1 ↔ cycle . The set can reduce to a singleton. If so, is the identity map on . To make the notation less cumbersome, denotes the value of the map at . 1. The property (NONPARALLEL) implies that the graph has no loops: . 2. The property (INTERSECTION) implies that distinct sets do not meet. This property of fans is eventually related to the planarity of hypermaps.

  12. Parsing Scheme 9 / 22

  13. Parsing Scheme with Learning 10 / 22

  14. Statistical Parsing of Informalized HOL ✎ Experiments with Standford parser and CYK chart parser ✎ Training and testing examples exported form Flyspeck formulas ✎ Along with their informalized versions ✎ Grammar parse trees ✎ Annotate each (nonterminal) symbol with its HOL type ✎ Also “semantic (formal)” nonterminals annotate overloaded terminals ✎ guiding analogy: word-sense disambiguation using CYK is common ✎ Terminals exactly compose the textual form, for example: ✎ REAL_NEGNEG: ✽ x ✿ � � x = x (Comb (Const "!" (Tyapp "fun" (Tyapp "fun" (Tyapp "real") (Tyapp "bool")) (Tyapp "bool"))) (Abs "A0" (Tyapp "real") (Comb (Comb (Const "=" (Tyapp "fun" (Tyapp "real") (Tyapp "fun" (Tyapp "real") (Tyapp "bool")))) (Comb (Const "real_neg" (Tyapp "fun" (Tyapp "real") (Tyapp "real"))) (Comb (Const "real_neg" (Tyapp "fun" (Tyapp "real") (Tyapp "real"))) (Var "A0" (Tyapp "real"))))) (Var "A0" (Tyapp "real"))))) ✎ becomes ("¨ (Type bool)¨ " ! ("¨ (Type (fun real bool))¨ " (Abs ("¨ (Type real)¨ " (Var A0)) ("¨ (Type bool)¨ " ("¨ (Type real)¨ " real_neg ("¨ (Type real)¨ " real_neg ("¨ (Type real)¨ " (Var A0)))) = ("¨ (Type real)¨ " (Var A0)))))) 11 / 22

  15. Example grammars "(Type bool)" Comb ! "(Type (fun real bool))" Const Abs ! Tyapp A0 Tyapp Comb Abs fun Tyapp Tyapp real Comb Var fun Tyapp Tyapp bool Const Comb A0 Tyapp "(Type real)" "(Type bool)" real bool = Tyapp Const Comb real Var "(Type real)" = "(Type real)" fun Tyapp Tyapp real_neg Tyapp Const Var real fun Tyapp Tyapp fun Tyapp Tyapp real_neg Tyapp A0 Tyapp A0 real_neg "(Type real)" Var real bool real real fun Tyapp Tyapp real real_neg "(Type real)" A0 real real Var A0 12 / 22

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend