34
Semantik-basierte Autorenwerkzeuge f ¨ ur mathematische Dokumente Serge Autexier, Stephan Busemann, Marc Wagner Bonn, Germany 31. October 2008 Autexier: Semantik-basierte Autorenwerkzeuge f¨ ur mathematische Dokumente 1 Bonn, October’08

Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

  • Upload
    buinhu

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Semantik-basierte Autorenwerkzeuge furmathematische Dokumente

Serge Autexier, Stephan Busemann, Marc Wagner

Bonn, Germany31. October 2008

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 1 Bonn, October’08

Page 2: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Motivation

I Support “Workflow” of preparing documentswith math. content

I . . . for mathematicians/scientists/softwareengineer for developing theories andespecially proofs

I Why?I Verifiable formalisations and proofsI Added values through machine support

I Take over routine checks/tasks in proofsI Organisation of large complex proofs (z.B. Kepler’

conjecture proof by T. Hales)I Semantic-based search for math. conceptsI . . .

X

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 2 Bonn, October’08

Page 3: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Approaches

Bottom-up Approach:I Logic, calculus, and components build upon

(proof assistants)I Hope that eventually targeted users will use itI Classical approach (a.o. Ωmega)

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 3 Bonn, October’08

Page 4: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Approaches

Bottom-up Approach:I Logic, calculus, and components build upon

(proof assistants)I Hope that eventually targeted users will use itI Classical approach (a.o. Ωmega)

Top-down Approach:I Start with systems that users already use (Texteditors)I Add functionality, e.g. those provide by proof assistants and moreI Analogy: Grammar-checker, but interactiveI Working hypotheses:

I Authors of documents should not have to learn peculiarities of proofassistance systems in order to get their support

I Support system should adapt to user, not vice versaI Author always has full control over the text (layout, formulation)

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 3 Bonn, October’08

Page 5: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

The Vision

Planned Functionality

Current State

Spectrum between Text, Notations and FormalRepresentations

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 4 Bonn, October’08

Page 6: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Writing the Lecture Notes

Introduction to AlgebraThomas H.

1 Logic2 Classes and Sets3 Functions4 Relations and Partitions

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 5 Bonn, October’08

Page 7: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

. . . Logic

Introduction to AlgebraThomas H.

1 LogicWe adopt the logical foundations developed in the lecture notes[SS08, David H.] and agree on the following notational conven-tions:

[SS08, David H.] This course¬P “not P”

P ∧Q “P and Q”P ∨Q “P or Q”P ⊃Q “P implies Q”, “P⇒Q”P ≡Q “P⇔Q”∀x .Q “for all x , Q”∃z.Q “there exists x , Q”

2 Classes and Sets3 Functions4 Relations and Partitions

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 5 Bonn, October’08

Page 8: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

. . . Classes and Sets

Introduction to AlgebraThomas H.

1 Logic

We adopt the logical foundations developed in the lecturenotes [SS08, David H.] and agree on the following notationalconventions:

[SS08, David H.] This course¬P “not P”

P ∧Q “P and Q”P ∨Q “P or Q”P ⊃Q “P implies Q”, “P⇒Q”P ≡Q “P⇔Q”∀x .Q “for all x , Q”∃z.Q “there exists x , Q”

2 Classes and Sets3 Functions4 Relations and Partitions

In Godel-Bernays form of axiomatic set theory, whichwe shall follow, the primitive (undefined) notions are class,membership, and equality. Intuitively, we consider a classto be a collection A of objects (elements) such that givenany object x if it is possible to determine whether or not xis a member (or element) of A. We write x ε A for “x is anelement of A” and x 6 ε A for “x is not an element of A”.

[. . . ]The axiom of extensionality asserts that two

classes with the same elements are equal (formally,[x ε A⇔x ε B]⊃A = B).

A class A is defined to be a set if and only if there existsa class B such that Aε B. Thus a set is a particular kind ofclass. A class that is not a set is called a proper class.Intuitively the distinction between sets and proper classesis not too clear. Roughly speaking a set is a “small” classand a proper class is exceptionnally “large”. The axiom ofclass formation asserts that for any statement P(y) in thefirst-order predicate calculus involving a variable y , thereexists a class A such that x ε A if and only if x is a set andthe statement P(x) is true. We denote this class A by x |P(x).

[. . . ]A class A is a subclass of a class B (written A⊆B)

provided:for all x ε A,x ε A⊃x ε B.

By the axioms of extensionality and the properties ofequality

A = B⇔A⊆B and B⊆A

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 6 Bonn, October’08

Page 9: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

. . . Classes and Sets

Introduction to AlgebraThomas H.

1 Logic

We adopt the logical foundations developed in the lecturenotes [SS08, David H.] and agree on the following notationalconventions:

[SS08, David H.] This course¬P “not P”

P ∧Q “P and Q”P ∨Q “P or Q”P ⊃Q “P implies Q”, “P⇒Q”P ≡Q “P⇔Q”∀x .Q “for all x , Q”∃z.Q “there exists x , Q”

2 Classes and Sets3 Functions4 Relations and Partitions

In Godel-Bernays form of axiomatic set theory, whichwe shall follow, the primitive (undefined) notions are class,membership, and equality. Intuitively, we consider a classto be a collection A of objects (elements) such that givenany object x if it is possible to determine whether or not xis a member (or element) of A. We write x ε A for “x is anelement of A” and x 6 ε A for “x is not an element of A”.

[. . . ]The axiom of extensionality asserts that two

classes with the same elements are equal (formally,[x ε A⇔x ε B]⊃A = B).

A class A is defined to be a set if and only if there existsa class B such that Aε B. Thus a set is a particular kind ofclass. A class that is not a set is called a proper class.Intuitively the distinction between sets and proper classesis not too clear. Roughly speaking a set is a “small” classand a proper class is exceptionnally “large”. The axiom ofclass formation asserts that for any statement P(y) in thefirst-order predicate calculus involving a variable y , thereexists a class A such that x ε A if and only if x is a set andthe statement P(x) is true. We denote this class A by x |P(x).

[. . . ]A class A is a subclass of a class B (written A⊆B)

provided:for all x ε A,x ε A⊃x ε B.

By the axioms of extensionality and the properties ofequality

A = B⇔A⊆B and B⊆A

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 6 Bonn, October’08

Page 10: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

. . . Classes and Sets

Introduction to AlgebraThomas H.

1 Logic

We adopt the logical foundations developed in the lecturenotes [SS08, David H.] and agree on the following notationalconventions:

[SS08, David H.] This course¬P “not P”

P ∧Q “P and Q”P ∨Q “P or Q”P ⊃Q “P implies Q”, “P⇒Q”P ≡Q “P⇔Q”∀x .Q “for all x , Q”∃z.Q “there exists x , Q”

2 Classes and Sets3 Functions4 Relations and Partitions

In Godel-Bernays form of axiomatic set theory, whichwe shall follow, the primitive (undefined) notions are class,membership, and equality. Intuitively, we consider a classto be a collection A of objects (elements) such that givenany object x if it is possible to determine whether or not xis a member (or element) of A. We write x∈A for “x is anelement of A” and x 6∈A for “x is not an element of A”.

[. . . ]The axiom of extensionality asserts that two

classes with the same elements are equal (formally,[x∈A⇔x∈B]⇒A = B).

A class A is defined to be a set if and only if there existsa class B such that A∈B. Thus a set is a particular kind ofclass. A class that is not a set is called a proper class.Intuitively the distinction between sets and proper classesis not too clear. Roughly speaking a set is a “small” classand a proper class is exceptionnally “large”. The axiom ofclass formation asserts that for any statement P(y) in thefirst-order predicate calculus involving a variable y , thereexists a class A such that x∈A if and only if x is a set andthe statement P(x) is true. We denote this class A by x |P(x).

[. . . ]A class A is a subclass of a class B (written A⊂B)

provided:for all x∈A,x∈A⇒x∈B.

By the axioms of extensionality and the properties ofequality

A = B⇔A⊂B and B⊂A

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 6 Bonn, October’08

Page 11: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

. . . Classes and Sets

Introduction to AlgebraThomas H.

1 Logic

We adopt the logical foundations developed in thelecture notes [SS08, David H.] and agree on the followingnotational conventions:

[SS08, David H.] This course¬P “not P”

P ∧Q “P and Q”P ∨Q “P or Q”P ⊃Q “P implies Q”, “P⇒Q”P ≡Q “P⇔Q”∀x .Q “for all x , Q”∃z.Q “there exists x , Q”

2 Classes and Sets

In Godel-Bernays form of axiomatic set theory, whichwe shall follow, the primitive (undefined) notions are class,membership, and equality. Intuitively, we consider a classto be a collection A of objects (elements) such that givenany object x if it is possible to determine whether or not x isa member (or element) of A. We write x∈A for “x is anelement of A” and x 6∈A for “x is not an element of A”.

[. . . ]The axiom of extensionality asserts that two classes

with the same elements are equal (formally,[x∈A⇔x∈B]⇒A = B).

A class A is defined to be a set if and only if there existsa class B such that A∈B. Thus a set is a particular kind ofclass. A class that is not a set is called a proper class.Intuitively the distinction between sets and proper classes isnot too clear. Roughly speaking a set is a “small” class anda proper class is exceptionnally “large”. The axiom ofclass formation asserts that for any statement P(y) in thefirst-order predicate calculus involving a variable y , thereexists a class A such that x∈A if and only if x is a set andthe statement P(x) is true. We denote this class A byx | P(x).

[. . . ]A class A is a subclass of a class B (written A⊂B)

provided:for all x∈A,x∈A⇒x∈B.

By the axioms of extensionality and the properties ofequality

A = B⇔A⊂B and B⊂A

3 Functions4 Relations and Partitions

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 7 Bonn, October’08

Page 12: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

. . . Functions and Relations

Introduction to AlgebraThomas H.

1 Logic

2 Classes and Sets

3 Functions

Given classes A and B, a function (or map ormapping) f from A to B (written f : A→ B) assigns to eacha∈A exactly one element b∈B; b is called the value of thefunction at a or the image of a and is usually written f (a). Ais the domain of the function (sometimes written Domf ) andB is the range or codomain. Sometimes it is convenient todenote the effect of the function f on an element of A bya 7→ f (a). Two functions are equal if they have the samedomain and range and have the same value for eachelement of their common domain.

[. . . ]

4 Relations and Partitions

The axiom of pair formation states that for any twosets [elements] a, b there is a set P = a,b such that x∈Pif and only if x = a or x = b; if a = b then P is the singletona. The ordered pair (a,b) is defined to be the seta,a,b; its first component is a and its secondcomponent is b. It is easy to verify that (a,b) = (a′,b′) ifand only if a = a′ and b = b′. The Cartesian product ofclasses A and B is the class

A×B = (a,b) | a∈A,b∈B

A subclass R of A×B is called a relation on A×B. Forexample, if f : A→ B is a function, the graph of f is therelation R = (a, f (a)) | a∈A.

[. . . ]

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 8 Bonn, October’08

Page 13: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

. . . Functions and Relations

Introduction to AlgebraThomas H.

1 Logic

2 Classes and Sets

3 Relations and Partitions

The axiom of pair formation states that for any twosets [elements] a, b there is a set P = a,b such that x∈Pif and only if x = a or x = b; if a = b then P is the singletona. The ordered pair (a,b) is defined to be the seta,a,b; its first component is a and its secondcomponent is b. It is easy to verify that (a,b) = (a′,b′) ifand only if a = a′ and b = b′. The Cartesian product ofclasses A and B is the class

A×B = (a,b) | a∈A,b∈B

A subclass R of A×B is called a relation on A×B. Forexample, if f : A→ B is a function, the graph of f is therelation R = (a, f (a)) | a∈A.

[. . . ]

4 Functions

Given classes A and B, a function (or map ormapping) f from A to B (written f : A→ B) assigns to eacha∈A exactly one element b∈B; b is called the value of thefunction at a or the image of a and is usually written f (a). Ais the domain of the function (sometimes written Domf ) andB is the range or codomain. Sometimes it is convenient todenote the effect of the function f on an element of A bya 7→ f (a). Two functions are equal if they have the samedomain and range and have the same value for eachelement of their common domain.

[. . . ]

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 9 Bonn, October’08

Page 14: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

. . . Verification Details on Demand

Introduction to AlgebraThomas H.

1 Logic

2 Classes and Sets

In Godel-Bernays form of axiomatic set theory, whichwe shall follow, the primitive (undefined) notions are class,membership, and equality. Intuitively, we consider a classto be a collection A of objects (elements) such that given anyobject x if it is possible to determine whether or not x is amember (or element) of A. We write x∈A for “x is an elementof A” and x 6∈A for “x is not an element of A”.

[. . . ]The axiom of extensionality asserts that two

classes with the same elements are equal (formally,[x∈A⇔x∈B]⇒A = B).

A class A is defined to be a set if and only if there ex-ists a class B such that A∈B. Thus a set is a particular kindof class. A class that is not a set is called a proper class.Intuitively the distinction between sets and proper classes isnot too clear. Roughly speaking a set is a “small” class and aproper class is exceptionnally “large”. The axiom of classformation asserts that for any statement P(y) in the first-order predicate calculus involving a variable y , there exists a

class A such that x∈A if and only if x is a set and the state-ment P(x) is true. We denote this class A by x | P(x).

[. . . ]A class A is a subclass of a class B (written A⊂B) pro-

vided:for all x∈A,x∈A⇒x∈B.

By the axioms of extensionality and the properties ofequalityDetails

A = B⇔A⊂B and B⊂A

DetailsWe first prove A = B⇒A⊂B and B⊂A: Assume (h)A = B, then we have to prove (1) A⊂B and (2) B⊂A: For(1), assuming x∈A, we conclude x∈B from (h) and prop-erties of equality. For (2), assuming x∈B, we concludex∈A from (h) and properties of equality. Conversely, weprove A⊂B and B⊂A⇒A = B: By Definition of ⊂ we knowfrom A⊂B and B⊂A that x∈A⇒x∈B and x∈B⇒x∈A for allx . Hence, x∈A⇔x∈B for all x and by extensionality followsA = B.3 Relations

4 Functions

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 10 Bonn, October’08

Page 15: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

The Vision

Planned Functionality

Current State

Spectrum between Text, Notations and FormalRepresentations

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 11 Bonn, October’08

Page 16: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Planned Functionality

General

I Are all used concepts defined? Uniquely? Unambiguously?

I Have all introduced notations been followed?

I Management/Maintenance of notational information

I Use of theories from other documents (semantic citation/copy&paste)

Specifically for proofs

I In a subproof: What are possible next steps?

I Apply automatic proof procedures (verification or subtasks)

I Automatically found (sub-)proofs

I integrated into document: readable, e.g. for inspection, explanationI use introduced notations

I Is a proof complete? Is it verified?

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 12 Bonn, October’08

Page 17: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

The Vision

Planned Functionality

Current State

Spectrum between Text, Notations and FormalRepresentations

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 13 Bonn, October’08

Page 18: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Current State: Verimathdoc I

I Connect TEXmacs with Ωmega via Mediator PlatΩ

TEXmacs PlatΩ Ωmega

I Fully annotated (manually) TEXmacs document\begindefinition[Function $\in$]

The predicate \concept\inelem \times set \rightarrow bool

takes an individual and a set and tells whether that

individual belongs to this set.

\enddefinition

Use Macros to indicate semantics: begin/end of theories,definitions, theorems, proofs, proof steps

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 14 Bonn, October’08

Page 19: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Current State: Verimathdoc I

I Connect TEXmacs with Ωmega via Mediator PlatΩ

TEXmacs PlatΩ Ωmega

I Fully annotated (manually) TEXmacs document

\begindefinition[Function $\in$]

The predicate \concept\inelem \times set \rightarrow bool

takes an individual and a set and tells whether that

individual belongs to this set.

\enddefinition

Use Macros to indicate semantics: begin/end of theories,definitions, theorems, proofs, proof steps

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 14 Bonn, October’08

Page 20: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Current State: Verimathdoc I

I Connect TEXmacs with Ωmega via Mediator PlatΩ

TEXmacs PlatΩ Ωmega

I Fully annotated (manually) TEXmacs document

\begindefinition[Function $\in$]

The predicate \concept\inelem \times set \rightarrow bool

takes an individual and a set and tells whether that

individual belongs to this set.

\enddefinition

Use Macros to indicate semantics: begin/end of theories,definitions, theorems, proofs, proof steps

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 14 Bonn, October’08

Page 21: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Current State: Verimathdoc I

I Connect TEXmacs with Ωmega via Mediator PlatΩ

TEXmacs PlatΩ Ωmega

I Fully annotated (manually) TEXmacs document\begindefinition[Function $\in$]

The predicate \concept\inelem \times set \rightarrow bool

takes an individual and a set and tells whether that

individual belongs to this set.

\enddefinition

Use Macros to indicate semantics: begin/end of theories,definitions, theorems, proofs, proof steps

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 14 Bonn, October’08

Page 22: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Current State: Verimathdoc I

I Connect TEXmacs with Ωmega via Mediator PlatΩ

TEXmacs PlatΩ Ωmega

I Fully annotated (manually) TEXmacs document\begindefinition[Function $\in$]

The predicate \concept\inelem \times set \rightarrow bool

takes an individual and a set and tells whether that

individual belongs to this set.

\enddefinition

Use Macros to indicate semantics: begin/end of theories,definitions, theorems, proofs, proof steps

I Except for formulas.I Provides type and proof checking, interactive proof constructionI Incremental: only changes are passed aroundI Basic document change management

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 14 Bonn, October’08

Page 23: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Current State: Verimathdoc I

I Connect TEXmacs with Ωmega via Mediator PlatΩ

TEXmacs PlatΩ Ωmega

I Fully annotated (manually) TEXmacs document\begindefinition[Function $\in$]

The predicate \concept\inelem \times set \rightarrow bool

takes an individual and a set and tells whether that

individual belongs to this set.

\enddefinition

Use Macros to indicate semantics: begin/end of theories,definitions, theorems, proofs, proof steps

I Except for formulas.I Provides type and proof checking, interactive proof constructionI Incremental: only changes are passed aroundI Basic document change management Marc’s Part

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 14 Bonn, October’08

Page 24: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Next Phase: Verimathdoc II

I Support independent from editors (TEXmacs, Word 2007, LATEX)I Start from Document as isI Use NL-Analysis to obtain richer structures on which support can

be offered (consistency checks, reorganisation, proof support,etc.)

I Use NL-Generation to map changes and modifications back intothe document.

Editors

Rich Structures

Modifications/Extensions

Support on Rich Structures

Ωmega

NL Analysis

NL Generation

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 15 Bonn, October’08

Page 25: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Next Phase: Verimathdoc II

I Support independent from editors (TEXmacs, Word 2007, LATEX)I Start from Document as isI Use NL-Analysis to obtain richer structures on which support can

be offered (consistency checks, reorganisation, proof support,etc.)

I Use NL-Generation to map changes and modifications back intothe document.

Editors

Rich Structures

Modifications/Extensions

Support on Rich Structures

Ωmega

NL Analysis

NL Generation

Stephan’s Part: NL Research Questions & First Ideas

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 15 Bonn, October’08

Page 26: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

The Vision

Planned Functionality

Current State

Spectrum between Text, Notations and FormalRepresentations

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 16 Bonn, October’08

Page 27: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Godel-Bernays Set Theory

Natural Language TextThe axiom of extensionality asserts that two classes with the sameelements are equal (formally, [x∈A⇔x∈B]⇒A = B).A class A is defined to be a set if and only if there exists a class Bsuch that A∈B. Thus a set is a particular kind of class. A class that isnot a set is called a proper class. Intuitively the distinction betweensets and proper classes is not too clear. Roughly speaking a set is a“small” class and a proper class is exceptionnally “large”.

Formal Counterpartaxiom "extensionality" ! A,B. class(A) /\ (class(B)

/\ (! x. membership(x,A) <=> membership(x,B))) => A = B;

define set:object->o;

axiom "Set_Ax_89" ! A,a. set(a) <=> class(a) /\ (? B. class(B) /\ membership(a,B));

define properclass:object*object->o;

axiom "Set_Ax_90" ! A,a. class(a) => (properclass(a) <=> ~ set(a));

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 17 Bonn, October’08

Page 28: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Definitions

Natural Language TextA class A is a subclass of a class B (written A⊂B) provided:

for all x∈A,x∈A⇒x∈B.

Formal Counterpartdefine subclass : object*object->o;

axiom "Class_Ax_122" ! A,B. class(A) /\ class(B) =>

( subclass(A,B) <=> (! x. membership(x,A) => membership (x,B)));

Notationnotation subclass(#1, #2) <-> #1 ⊂ #2

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 18 Bonn, October’08

Page 29: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Definitions

Natural Language Text

The axiom of class formation asserts that for any statement P(y)in the first-order predicate calculus involving a variable y , there existsa class A such that x∈A if and only if x is a set and the statementP(x) is true. We denote this class A by x | P(x).

Formal Counterpartaxiom "class formation" ! P:object->o . ? A. class(A) /\

! x . membership(x,A) <=> (set(x) /\ P(x));

define setconstr:(object->o)->object;

axiom "" ! P:object->o . class(setconstr(P)) /\

! x . membership(x,setconstr(P)) <=> (set(x) /\ P(x));

Notationnotation setconstr(lam #1 . #2) <-> #1 | #2

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 19 Bonn, October’08

Page 30: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Theorems and Proofs

Natural Language TextBy the axioms of extensionality and the properties of equality

A = B⇔A⊂B and B⊂A

Formal Counterpartconjecture "Class_Th_124" ! A,B. class(A) /\ class(B) =>

(A = B <=> subclass(A,B) /\ subclass(B,A));

proof

fact ! A,B. class(A) /\ class(B) => (A = B <=>

subclass(A,B) /\ subclass(B,A)) by "Extensionality", "Properties of ="

trivial

end

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 20 Bonn, October’08

Page 31: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Theorems, Proofs and Checking Information

Natural Language TextBy the axioms of extensionality and the properties of equality

A = B⇔A⊂B and B⊂A

Formal Counterpartconjecture "Class_Th_124" ! A,B. class(A) /\ class(B) =>

(A = B <=> subclass(A,B) /\ subclass(B,A));

proof

fact ! A,B. class(A) /\ class(B) => (A = B <=>

subclass(A,B) /\ subclass(B,A)) by "Extensionality", "Properties of ="

proof

assume class(a), class(b);

subgoal "1": a = b => subclass(a,b) /\ subclass(b,a);

proof assume "hyp" : a = b;

subgoal "1a": subclass(a,b)

proof assume "hyp1" membership(x,a); subgoal membership(x,b);

trivial by "hyp", "hyp1" and "=" end

subgoal "1b": subclass(b,a)

proof assume "hyp2" membership(x,b); subgoal membership(x,a);

trivial by "hyp", "hyp2" and "=" end

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 21 Bonn, October’08

Page 32: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Theorems, Proofs and Checking Information

Formal Counterpartsubgoal "2": subclass(a,b) /\ subclass(b,a) => a = b;

proof assume subclass(a,b), subclass(b,a);

fact ! x . membership(x,a) => membership(x,b) by "subclass";

fact ! x . membership(x,b) => membership(x,a) by "subclass";

fact ! x . membership(x,b) <=> membership(x,a) by "logic";

trivial by "Extensionality"; end

end; trivial; end

Natural Language Text

By the axioms of extensionality and the properties of equalityDetails

A = B⇔A⊂B and B⊂A

DetailsWe first prove A = B⇒A⊂B and B⊂A: Assume (h) A = B, then we have to prove (1) A⊂B and (2) B⊂A: For (1),

assuming x∈A, we conclude x∈B from (h) and properties of equality. For (2), assuming x∈B, we conclude x∈A from (h) and

properties of equality. Conversely, we prove A⊂B and B⊂A⇒A = B: By Definition of ⊂ we know from A⊂B and B⊂A that

x∈A⇒x∈B and x∈B⇒x∈A for all x . Hence, x∈A⇔x∈B for all x and by extensionality follows A = B.

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 22 Bonn, October’08

Page 33: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

More to come. . .

Current state (Verimathdoc I)

TEXmacs PlatΩ Ωmega

Marc’s Part: Document management, Ambiguities, Verification

Natural language text processing/generation (Verimathdoc II)

Editors

Rich Structures

Modifications/Extensions

Support on Rich Structures

Ωmega

NL Analysis

NL Generation

Stephan’s Part: NL Research Questions & First Ideas

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 23 Bonn, October’08

Page 34: Semantik-basierte Autorenwerkzeuge für mathematische …autexier/talks/MathInstituteBonn08.pdfSemantik-basierte Autorenwerkzeuge fur¨ mathematische Dokumente Serge Autexier, Stephan

Godel-Bernays Set Theory

Natural Language Text

In Godel-Bernays form of axiomatic set theory, which we shall fol-low, the primitive (undefined) notions are class, membership, andequality. Intuitively, we consider a class to be a collection A of ob-jects (elements) such that given any object x if it is possible to deter-mine whether or not x is a member (or element) of A. We write x∈Afor “x is an element of A” and x 6∈A for “x is not an element of A”.

Formal Counterpartdefine class:object->o;

define membership:object*object->o;

axiom !x,a . membership(x, a) or ~ membership(x, a);

Notationnotation #1∈#2 <-> membership(\#1, \#2)

notation #16∈#2 <-> ~ membership(\#1, \#2)

Autexier: Semantik-basierte Autorenwerkzeuge fur mathematische Dokumente 24 Bonn, October’08