The Naproche system: Proof-checking mathematical texts in controlled - - PowerPoint PPT Presentation

the naproche system proof checking mathematical texts in
SMART_READER_LITE
LIVE PREVIEW

The Naproche system: Proof-checking mathematical texts in controlled - - PowerPoint PPT Presentation

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion The Naproche system: Proof-checking mathematical texts in controlled natural language Marcos Cramer University of Luxembourg 18 July 2014 The Naproche


slide-1
SLIDE 1

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

The Naproche system: Proof-checking mathematical texts in controlled natural language

Marcos Cramer

University of Luxembourg

18 July 2014

1 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-2
SLIDE 2

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

The Naproche Project

The Naproche project (Natural language Proof Checking) studies the language and reasoning of mathematics from the perspectives of logic and linguistics.

2 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-3
SLIDE 3

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

The Naproche Project

The Naproche project (Natural language Proof Checking) studies the language and reasoning of mathematics from the perspectives of logic and linguistics. Central goals of Naproche:

To develop a controlled natural language (CNL) for mathematical texts.

2 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-4
SLIDE 4

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

The Naproche Project

The Naproche project (Natural language Proof Checking) studies the language and reasoning of mathematics from the perspectives of logic and linguistics. Central goals of Naproche:

To develop a controlled natural language (CNL) for mathematical texts. To implement a system, the Naproche system, which can check texts written in this CNL for logical correctness.

2 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-5
SLIDE 5

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Outline

1

The Naproche system

2

Dynamic Quantification

3

Undefined terms and presuppositions

4

Conclusion

3 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-6
SLIDE 6

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Naproche CNL

Burali-Forti paradox in the Naproche CNL

Axiom 1: There is a set ∅ such that no y is in ∅. Axiom 2: There is no x such that x ∈ x. Define x to be transitive if and only if for all u, v, if u ∈ v and v ∈ x then u ∈ x. Define x to be an ordinal if and only if x is transitive and for all y, if y ∈ x then y is transitive. Theorem: There is no x such that for all u, u ∈ x iff u is an ordinal. Proof: Assume for a contradiction that there is an x such that for all u, u ∈ x iff u is an ordinal. Let u ∈ v and v ∈ x. Then v is an ordinal, i.e. u is an ordinal, i.e. u ∈ x. Thus x is transitive. Let v ∈ x. Then v is an ordinal, i.e. v is transitive. Thus x is an ordinal. Then x ∈ x. Contradiction by axiom 2. Qed.

4 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-7
SLIDE 7

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Naproche proof checking

The proof checking algorithm keeps track of a list of first-order formulae considered true, called premises.

5 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-8
SLIDE 8

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Naproche proof checking

The proof checking algorithm keeps track of a list of first-order formulae considered true, called premises. The premise list gets continuously updated during the verification process.

5 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-9
SLIDE 9

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Naproche proof checking

The proof checking algorithm keeps track of a list of first-order formulae considered true, called premises. The premise list gets continuously updated during the verification process. Each assertion is checked by an ATP based on the currently active premises.

Example Suppose n is even. Then there is a k such that n = 2k. Then n2 = 4k2, so 4|n2.

5 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-10
SLIDE 10

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Naproche proof checking

The proof checking algorithm keeps track of a list of first-order formulae considered true, called premises. The premise list gets continuously updated during the verification process. Each assertion is checked by an ATP based on the currently active premises.

Example Suppose n is even. Then there is a k such that n = 2k. Then n2 = 4k2, so 4|n2.

Sentence-by-sentence proof verification:

Γ, even(n) ⊢? ∃k n = 2 · k

5 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-11
SLIDE 11

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Naproche proof checking

The proof checking algorithm keeps track of a list of first-order formulae considered true, called premises. The premise list gets continuously updated during the verification process. Each assertion is checked by an ATP based on the currently active premises.

Example Suppose n is even. Then there is a k such that n = 2k. Then n2 = 4k2, so 4|n2.

Sentence-by-sentence proof verification:

Γ, even(n) ⊢? ∃k n = 2 · k Γ, even(n), n = 2 · k ⊢? n2 = 4 · k2

5 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-12
SLIDE 12

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Naproche proof checking

The proof checking algorithm keeps track of a list of first-order formulae considered true, called premises. The premise list gets continuously updated during the verification process. Each assertion is checked by an ATP based on the currently active premises.

Example Suppose n is even. Then there is a k such that n = 2k. Then n2 = 4k2, so 4|n2.

Sentence-by-sentence proof verification:

Γ, even(n) ⊢? ∃k n = 2 · k Γ, even(n), n = 2 · k ⊢? n2 = 4 · k2 Γ, even(n), n = 2 · k, n2 = 4 · k2 ⊢? 4|n2

5 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-13
SLIDE 13

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Naproche proof checking (2)

An assumption is processed in No-Check Mode.

6 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-14
SLIDE 14

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Naproche proof checking (2)

An assumption is processed in No-Check Mode. The No-Check Mode is also used for ϕ and ψ in ¬ϕ, ∃x ϕ, ϕ ∨ ψ and ϕ → χ.

6 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-15
SLIDE 15

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Naproche proof checking (2)

An assumption is processed in No-Check Mode. The No-Check Mode is also used for ϕ and ψ in ¬ϕ, ∃x ϕ, ϕ ∨ ψ and ϕ → χ. We have proved soundness and completeness theorems for the proof checking algorithm.

6 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-16
SLIDE 16
slide-17
SLIDE 17

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Outline

1

The Naproche system

2

Dynamic Quantification

3

Undefined terms and presuppositions

4

Conclusion

8 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-18
SLIDE 18

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Dynamic Quantification

Example Suppose n is even. Then there is a k such that n = 2k. Then n2 = 4k2, so 4|n2.

9 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-19
SLIDE 19

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Dynamic Quantification

Example Suppose n is even. Then there is a k such that n = 2k. Then n2 = 4k2, so 4|n2. Example If a space X retracts onto a subspace A, then the homomorphism i∗ : π1(A, x0) → π1(X, x0) induced by the inclusion i : A ֒ → X is injective.

  • A. Hatcher: Algebraic topology (2002)

9 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-20
SLIDE 20

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Dynamic Quantification (2)

Solution: Dynamic Predicate Logic (DPL) by Groenendijk and Stokhof

10 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-21
SLIDE 21

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Dynamic Quantification (2)

Solution: Dynamic Predicate Logic (DPL) by Groenendijk and Stokhof Example If a farmer owns a donkey, he beats it. PL: ∀x∀y (farmer(x) ∧ donkey(y) ∧ owns(x, y) → beats(x, y)) DPL: ∃x (farmer(x) ∧ ∃y (donkey(y) ∧ owns(x, y))) → beats(x, y)

10 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-22
SLIDE 22

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Implicit dynamic function introduction

Suppose that, for each vertex v of K, there is a vertex g(v) of L such that f (stK(v)) ⊂ stL(g(v)). Then g is a simplicial map V (K) → V (L), and |g| ⋍ f .

  • M. Lackenby: Topology and groups (2008)

11 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-23
SLIDE 23

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Implicit dynamic function introduction

Suppose that, for each vertex v of K, there is a vertex g(v) of L such that f (stK(v)) ⊂ stL(g(v)). Then g is a simplicial map V (K) → V (L), and |g| ⋍ f .

  • M. Lackenby: Topology and groups (2008)

Solution: Typed Higher-Order Dynamic Predicate Logic (THODPL)

11 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-24
SLIDE 24

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

THODPL

There can be a complex term after a quantifier:

1

∀x ∃f (x) R(x, f (x))

12 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-25
SLIDE 25

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

THODPL

There can be a complex term after a quantifier:

1

∀x ∃f (x) R(x, f (x))

2

∀x ∃y R(x, y)

3

∃f ∀x R(x, f (x))

1 has the same truth conditions as 2.

12 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-26
SLIDE 26

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

THODPL

There can be a complex term after a quantifier:

1

∀x ∃f (x) R(x, f (x))

2

∀x ∃y R(x, y)

3

∃f ∀x R(x, f (x))

1 has the same truth conditions as 2. But unlike 2, 1 dynamically introduces the function symbol f , and hence turns out to be equivalent to 3.

12 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-27
SLIDE 27

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

THODPL in proof checking

Quantification over a complex term is checked in the same way as quantification over a variable: For each vertex v of K, there is a vertex g(v) of L such that f (stK(v)) ⊂ stL(g(v)). Then g is a simplicial map V (K) → V (L). Γ, vertex(v, K) ⊢? ∃w (vertex(w, K) ∧ f (stK(v)) ⊂ stL(w))

13 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-28
SLIDE 28

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

THODPL in proof checking

Quantification over a complex term is checked in the same way as quantification over a variable: For each vertex v of K, there is a vertex g(v) of L such that f (stK(v)) ⊂ stL(g(v)). Then g is a simplicial map V (K) → V (L). Γ, vertex(v, K) ⊢? ∃w (vertex(w, K) ∧ f (stK(v)) ⊂ stL(w)) However, it dynamically introduces a new function symbol. The premise corresponding to this quantification gets skolemized with this new function symbol:

Γ, ∀v (vertex(v, K) → (vertex(g(v), K) ∧ f (stK(v)) ⊂ stL(g(v)))) ⊢? simplicial map(g, V (K), V (L))

13 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-29
SLIDE 29

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

THODPL in proof checking (2)

The theorem prover does not need to prove the existence of a function, but its existence may nevertheless be assumed as a premise.

14 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-30
SLIDE 30

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

THODPL in proof checking (2)

The theorem prover does not need to prove the existence of a function, but its existence may nevertheless be assumed as a premise. Similarly, ∀x ∃f (x) R(x, f (x)) is proof-checked in the same way as ∀x ∃y R(x, y), but as a premise it has the force of ∃f ∀x R(x, f (x)).

14 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-31
SLIDE 31

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Outline

1

The Naproche system

2

Dynamic Quantification

3

Undefined terms and presuppositions

4

Conclusion

15 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-32
SLIDE 32

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Undefined terms

Mathematical texts can involve potentially undefined terms like

1 x .

16 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-33
SLIDE 33

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Undefined terms

Mathematical texts can involve potentially undefined terms like

1 x .

Such terms arise by applying partial functions to ungrounded terms.

16 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-34
SLIDE 34

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Undefined terms

Mathematical texts can involve potentially undefined terms like

1 x .

Such terms arise by applying partial functions to ungrounded terms. First-order logic has no means for handling partial functions and potentially undefined terms.

16 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-35
SLIDE 35

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Undefined terms

Mathematical texts can involve potentially undefined terms like

1 x .

Such terms arise by applying partial functions to ungrounded terms. First-order logic has no means for handling partial functions and potentially undefined terms. We make use of presupposition theory from formal linguistics for solving this problem.

16 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-36
SLIDE 36

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Presuppositions

A presupposition of some utterance is an implicit assumption that is taken for granted when making the utterance and needed for its interpretation.

17 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-37
SLIDE 37

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Presuppositions

A presupposition of some utterance is an implicit assumption that is taken for granted when making the utterance and needed for its interpretation. Presuppositions are triggered by certain lexical items called presupposition triggers, e.g. “the”, “to know”, “to stop”, “still”.

17 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-38
SLIDE 38

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Presuppositions

A presupposition of some utterance is an implicit assumption that is taken for granted when making the utterance and needed for its interpretation. Presuppositions are triggered by certain lexical items called presupposition triggers, e.g. “the”, “to know”, “to stop”, “still”.

Example He stopped beating his wife.

17 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-39
SLIDE 39

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Presupposition in mathematical texts

Most presupposistion triggers are rare or absent in mathematical texts, e.g. “to know”, “to stop” and “still”.

18 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-40
SLIDE 40

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Presupposition in mathematical texts

Most presupposistion triggers are rare or absent in mathematical texts, e.g. “to know”, “to stop” and “still”. Definite descriptions do appear, e.g. “the smallest natural number n such that n2 − 1 is prime”.

18 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-41
SLIDE 41

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Presupposition in mathematical texts

Most presupposistion triggers are rare or absent in mathematical texts, e.g. “to know”, “to stop” and “still”. Definite descriptions do appear, e.g. “the smallest natural number n such that n2 − 1 is prime”. A special mathematical presupposition trigger: Expressions denoting partial functions, e.g. “/” and “√ ”

18 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-42
SLIDE 42

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Proof checking algorithm with presuppositions

Presuppositions also have to be checked in No-Check Mode.

19 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-43
SLIDE 43

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Proof checking algorithm with presuppositions

Presuppositions also have to be checked in No-Check Mode. Example 1 Assume that B contains √y.

19 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-44
SLIDE 44

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Proof checking algorithm with presuppositions

Presuppositions also have to be checked in No-Check Mode. Example 1 Assume that B contains √y. Γ ⊢? y ≥ 0

19 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-45
SLIDE 45

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Proof checking algorithm with presuppositions

Presuppositions also have to be checked in No-Check Mode. Example 1 Assume that B contains √y. Γ ⊢? y ≥ 0 Example 2 B does not contain √y.

19 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-46
SLIDE 46

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Proof checking algorithm with presuppositions

Presuppositions also have to be checked in No-Check Mode. Example 1 Assume that B contains √y. Γ ⊢? y ≥ 0 Example 2 B does not contain √y. Γ ⊢? y ≥ 0 Γ, y ≥ 0 ⊢? ¬√y ∈ B

19 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-47
SLIDE 47

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Outline

1

The Naproche system

2

Dynamic Quantification

3

Undefined terms and presuppositions

4

Conclusion

20 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-48
SLIDE 48

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Conclusion

We have developed a controlled natural language for mathematical texts.

21 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-49
SLIDE 49

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Conclusion

We have developed a controlled natural language for mathematical texts. The Naproche system can check the correctness of texts written in this language.

21 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language

slide-50
SLIDE 50

Naproche system Dynamic Quantification Undefined terms and presuppositions Conclusion

Conclusion

We have developed a controlled natural language for mathematical texts. The Naproche system can check the correctness of texts written in this language. Interesting theoretical work linking mathematical logic and formal linguistics

21 / 21 The Naproche system: Proof-checking mathematical texts in controlled natural language