Explanation in Natural Language of -terms Claudio Sacerdoti Coen - - PowerPoint PPT Presentation

explanation in natural language of terms
SMART_READER_LITE
LIVE PREVIEW

Explanation in Natural Language of -terms Claudio Sacerdoti Coen - - PowerPoint PPT Presentation

Overview The -calculus as a (bad) Proof Format The -calculus as a (good) Proof Format Summary Explanation in Natural Language of -terms Claudio Sacerdoti Coen <sacerdot@cs.unibo.it> Project PCRI, CNRS, cole


slide-1
SLIDE 1

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary

Explanation in Natural Language of ¯ λµ˜ µ-terms

Claudio Sacerdoti Coen

<sacerdot@cs.unibo.it> Project PCRI, CNRS, École Polytechnique, INRIA, Université Paris-Sud Now at University of Bologna

16/07/2005

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-2
SLIDE 2

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary

Outline

1

Overview Motivations

2

The λ-calculus as a (bad) Proof Format Curry-Howard

3

The ¯ λµ˜ µ-calculus as a (good) Proof Format Curry-Howard

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-3
SLIDE 3

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

Outline

1

Overview Motivations

2

The λ-calculus as a (bad) Proof Format Curry-Howard

3

The ¯ λµ˜ µ-calculus as a (good) Proof Format Curry-Howard

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-4
SLIDE 4

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

MKM Formats

Formulae:

Presentation level: MathML Presentation Content level: OpenMath, MathML Content Semantics level: any logic or type theory or set theory

Proofs:

Presentation level: interactive PDF, XHTML + JavaScript Content level: OMDoc (????) , something else? Semantics level: proof trees, λ-terms (via Curry-Howard), proof nets, . . .

Theories/Mathematical Documents:

Presentation level: PDF, PS, XHTML, . . . Content level: OMDoc, Development Graphs/ DocBook Semantics level: locales, functors, dependent records, . . . / ——

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-5
SLIDE 5

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

MKM Formats

Formulae:

Presentation level: MathML Presentation Content level: OpenMath, MathML Content Semantics level: any logic or type theory or set theory

Proofs:

Presentation level: interactive PDF, XHTML + JavaScript Content level: OMDoc (????) , something else? Semantics level: proof trees, λ-terms (via Curry-Howard), proof nets, . . .

Theories/Mathematical Documents:

Presentation level: PDF, PS, XHTML, . . . Content level: OMDoc, Development Graphs/ DocBook Semantics level: locales, functors, dependent records, . . . / ——

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-6
SLIDE 6

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

MKM Formats

Formulae:

Presentation level: MathML Presentation Content level: OpenMath, MathML Content Semantics level: any logic or type theory or set theory

Proofs:

Presentation level: interactive PDF, XHTML + JavaScript Content level: OMDoc (????) , something else? Semantics level: proof trees, λ-terms (via Curry-Howard), proof nets, . . .

Theories/Mathematical Documents:

Presentation level: PDF, PS, XHTML, . . . Content level: OMDoc, Development Graphs/ DocBook Semantics level: locales, functors, dependent records, . . . / ——

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-7
SLIDE 7

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

MKM Formats

Formulae:

Presentation level: MathML Presentation Content level: OpenMath, MathML Content Semantics level: any logic or type theory or set theory

Proofs:

Presentation level: interactive PDF, XHTML + JavaScript Content level: OMDoc (????) , something else? Semantics level: proof trees, λ-terms (via Curry-Howard), proof nets, . . .

Theories/Mathematical Documents:

Presentation level: PDF, PS, XHTML, . . . Content level: OMDoc, Development Graphs/ DocBook Semantics level: locales, functors, dependent records, . . . / ——

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-8
SLIDE 8

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

MKM Formats

Formulae:

Presentation level: MathML Presentation Content level: OpenMath, MathML Content Semantics level: any logic or type theory or set theory

Proofs:

Presentation level: interactive PDF, XHTML + JavaScript Content level: OMDoc (????) , something else? Semantics level: proof trees, λ-terms (via Curry-Howard), proof nets, . . .

Theories/Mathematical Documents:

Presentation level: PDF, PS, XHTML, . . . Content level: OMDoc, Development Graphs/ DocBook Semantics level: locales, functors, dependent records, . . . / ——

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-9
SLIDE 9

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

MKM Formats

Formulae:

Presentation level: MathML Presentation Content level: OpenMath, MathML Content Semantics level: any logic or type theory or set theory

Proofs:

Presentation level: interactive PDF, XHTML + JavaScript Content level: OMDoc (????) , something else? Semantics level: proof trees, λ-terms (via Curry-Howard), proof nets, . . .

Theories/Mathematical Documents:

Presentation level: PDF, PS, XHTML, . . . Content level: OMDoc, Development Graphs/ DocBook Semantics level: locales, functors, dependent records, . . . / ——

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-10
SLIDE 10

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

OMDoc (Proof Module)

OMDoc 1.0 (Kohlhase et alt.): not expressive enough for HELM/MoWGLI proofs OMDoc 1.2, 2.0 (Asperti, Kohlhase, Sacerdoti Coen): extended to cover HELM/MoWGLI Is it a good proof format?

Set of ad-hoc criteria (e.g. flexibility, embedding of annotations) Kohlhase’s motto: Is this a reasonable criterium? Can we do any better?”

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-11
SLIDE 11

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

OMDoc (Proof Module)

OMDoc 1.0 (Kohlhase et alt.): not expressive enough for HELM/MoWGLI proofs OMDoc 1.2, 2.0 (Asperti, Kohlhase, Sacerdoti Coen): extended to cover HELM/MoWGLI Is it a good proof format?

Set of ad-hoc criteria (e.g. flexibility, embedding of annotations) Kohlhase’s motto: Is this a reasonable criterium? Can we do any better?”

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-12
SLIDE 12

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

OMDoc (Proof Module)

OMDoc 1.0 (Kohlhase et alt.): not expressive enough for HELM/MoWGLI proofs OMDoc 1.2, 2.0 (Asperti, Kohlhase, Sacerdoti Coen): extended to cover HELM/MoWGLI Is it a good proof format?

Set of ad-hoc criteria (e.g. flexibility, embedding of annotations) Kohlhase’s motto: “I can encode pen&paper, Mizar, PVS, Coq, Isabelle, <<fill in the blanks>> proofs in OMDoc” Is this a reasonable criterium? Can we do any better?”

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-13
SLIDE 13

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

OMDoc (Proof Module)

OMDoc 1.0 (Kohlhase et alt.): not expressive enough for HELM/MoWGLI proofs OMDoc 1.2, 2.0 (Asperti, Kohlhase, Sacerdoti Coen): extended to cover HELM/MoWGLI Is it a good proof format?

Set of ad-hoc criteria (e.g. flexibility, embedding of annotations) Kohlhase’s motto: “I can encode pen&paper, Mizar, PVS, Coq, Isabelle, <<fill in the blanks>> proofs in OMDoc” Is this a reasonable criterium? Can we do any better?”

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-14
SLIDE 14

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

Encoding vs Simulation

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-15
SLIDE 15

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

Encoding vs Simulation

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-16
SLIDE 16

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

Encoding vs Simulation

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-17
SLIDE 17

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

Bi-simulation

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-18
SLIDE 18

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

OMDoc vs the ¯ λµ˜ µ-calculus

Natural Language

OMDoc

¯ λµ˜ µ-calculus

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-19
SLIDE 19

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Motivations

OMDoc vs the ¯ λµ˜ µ-calculus

Natural Language

OMDoc

MoWGLI Ongoing work This Talk

¯ λµ˜ µ-calculus

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-20
SLIDE 20

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Outline

1

Overview Motivations

2

The λ-calculus as a (bad) Proof Format Curry-Howard

3

The ¯ λµ˜ µ-calculus as a (good) Proof Format Curry-Howard

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-21
SLIDE 21

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

The Curry-Howard Isomorphism

λ-calculus NJ type statement term derivation reduction proof normalization The λ-calculus is naturally a proof format + It has a clear semantics . . . + . . . that we can easily trade off for flexibility

  • Y. Coscoy equipped it with a rendering semantics
  • We can associate user-provided annotations to override

the generated text

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-22
SLIDE 22

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

The Curry-Howard Isomorphism

λ-calculus NJ type statement term derivation reduction proof normalization The λ-calculus is naturally a proof format + It has a clear semantics . . . + . . . that we can easily trade off for flexibility

  • Y. Coscoy equipped it with a rendering semantics
  • We can associate user-provided annotations to override

the generated text

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-23
SLIDE 23

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Implicit Information: the Inner Types

[K : B → C] [H : A → B] [a : A] H a : B (K (H a)) : C λa : A.(K (H a)) : A → C λK : B → C.λa : A.(K (H a)) : (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-24
SLIDE 24

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Implicit Information: the Inner Types

[K : B → C] [H : A → B] [a : A] H a : B (K (H a)) : C λa : A.(K (H a)) : A → C λK : B → C.λa : A.(K (H a)) : (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-25
SLIDE 25

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Implicit Information: the Inner Types

[K : B → C] [H : A → B] [a : A] H a : B (K (H a)) : C λa : A.(K (H a)) : A → C λK : B → C.λa : A.(K (H a)) : (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-26
SLIDE 26

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Implicit Information: the Inner Types

[K : B → C] [H : A → B] [a : A] H a : B (K (H a)) : C λa : A.(K (H a)) : A → C λK : B → C.λa : A.(K (H a)) : (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-27
SLIDE 27

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Implicit Information: the Inner Types

λH : A → B.λK : B → C.λa : A.(K(Ha)) λH : A → B. (λK : B → C. (λa : A. (((K ((H a) :: B)) :: C) :: A → C) :: (B → C) → A → C) :: (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-28
SLIDE 28

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Non Structural Translation

λH : A → B. (λK : B → C. (λa : A. ((K ((H a) :: B)) :: C) :: A → C) :: (B → C) → A → C) :: (A → B) → (B → C) → A → C suppose H : A → B suppose K : B → C suppose a : A by H and a we prove B (∗) by K and ∗ we prove C thus we proved A → C thus we proved (B → C) → A → C thus we proved (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-29
SLIDE 29

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Non Structural Translation

λH : A → B. (λK : B → C. (λa : A. ((K ((H a) :: B)) :: C) :: A → C) :: (B → C) → A → C) :: (A → B) → (B → C) → A → C suppose H : A → B suppose K : B → C suppose a : A by H and a we prove B (∗) by K and ∗ we prove C thus we proved A → C thus we proved (B → C) → A → C thus we proved (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-30
SLIDE 30

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Non Structural Translation

((J ((K ((H a) :: B)) :: C)) :: D) by H and a we prove B (∗) by K and ∗ we prove C (†) by J and † we prove D

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-31
SLIDE 31

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Non Structural Translation

((J ((K ((H a) :: B)) :: C)) :: D) by H and a we prove B (∗) by K and ∗ we prove C (†) by J and † we prove D

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-32
SLIDE 32

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Non Structural Translation

((J ((K ((H a) :: B)) :: C)) :: D) by H and a we prove B (∗) by K and ∗ we prove C (†) by J and † we prove D

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-33
SLIDE 33

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Non Structural Translation

((J ((K ((H a) :: B)) :: C)) :: D) by H and a we prove B (∗)

  • bviously we have C (†)

by J and † we prove D

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-34
SLIDE 34

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Non Structural Translation

((J ((K ((H a) :: B) ) :: C) ) :: D) by H and a we prove B (∗)

  • bviously we have C (†)

by J and † we prove D

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-35
SLIDE 35

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Non Structural Translation

((J ((K ((H a) :: B) ) :: C) ) :: D) by H and a we prove B (∗)

  • bviously we have C (†)

by J and † we prove D

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-36
SLIDE 36

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Non Structural Translation

((J ((K ((H a) :: B)) :: C)) :: D) let ∗ : B := (H A) in let † : C := (K ∗) in (J †)

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-37
SLIDE 37

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Top Down vs Bottom Up

[B → C] [A → B] [A] B C A → C (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-38
SLIDE 38

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Top Down vs Bottom Up

[B → C] [A → B] [A] B C A → C (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-39
SLIDE 39

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Top Down vs Bottom Up

[B → C] [A → B] [A] B C A → C (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-40
SLIDE 40

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Top Down vs Bottom Up

[B → C] [A → B] [A] B C A → C (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-41
SLIDE 41

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Top Down vs Bottom Up

[B → C] [A → B] [A] B C A → C (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-42
SLIDE 42

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Top Down vs Bottom Up

[B → C] [A → B] [A] B C A → C (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-43
SLIDE 43

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Top Down vs Bottom Up

[B → C] [A → B] [A] B C A → C (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-44
SLIDE 44

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Top Down vs Bottom Up

[B → C] [A → B] [A] B C A → C (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-45
SLIDE 45

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Top Down vs Bottom Up

[B → C] [A → B] [A] B C A → C (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-46
SLIDE 46

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Top Down vs Bottom Up

[B → C] [A → B] [A] B C A → C (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-47
SLIDE 47

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Top Down vs Bottom Up

[B → C] [A → B] [A] B C A → C (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-48
SLIDE 48

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Top Down vs Bottom Up

[B → C] [A → B] [A] B C A → C (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-49
SLIDE 49

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Top Down vs Bottom Up

[B → C] [A → B] [A] B C A → C (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-50
SLIDE 50

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Top Down vs Bottom Up

[B → C] [A → B] [A] B C A → C (B → C) → A → C λH : A → B.λK : B → C.λa : A.(K (H a)) : (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-51
SLIDE 51

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Outline

1

Overview Motivations

2

The λ-calculus as a (bad) Proof Format Curry-Howard

3

The ¯ λµ˜ µ-calculus as a (good) Proof Format Curry-Howard

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-52
SLIDE 52

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Sequent Calculus: Bottom Up Proof

B → C; A ⊢ A A; B ⊢ B A; B; C ⊢ C B → C; A; B ⊢ C B → C; A; B ⊢ C A → B; B → C; A ⊢ C A → B; B → C; A ⊢ C A → B; B → C ⊢ A → C A → B ⊢ (B → C) → A → C ⊢ (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-53
SLIDE 53

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Sequent Calculus: Top Down Proof

A ⊢ A A; B ⊢ B A → B; A ⊢ B A → B; A ⊢ B A → B; A; C ⊢ C A → B; B → C; A ⊢ C A → B; B → C; A ⊢ C A → B; B → C ⊢ A → C A → B ⊢ (B → C) → A → C ⊢ (A → B) → (B → C) → A → C

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-54
SLIDE 54

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Sequent Calculus: Bottom Up Proof

K : B → C; a : A ⊢ a : A a : A; b : B ⊢ b : B a : A; b : B; γ : C ⊢ γ : C b ◦ γ : B → C; a : A; b : B ⊢ γ : C K : B → C; a : A; ˜ µb : B.K||b ◦ γ : B ⊢ γ : C a ◦ ˜ µb : B.K||b ◦ γ : A → B; K : B → C; a : A ⊢ γ : C H : A → B; K : B → C; a : A ⊢ µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : C H : A → B; K : B → C ⊢ λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : A → C H : A → B ⊢ λK : B → C.λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : (B → C) → A → C ⊢ λH : A → B.λK : B → C.λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : (A → B) → (B → C) → A → C Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-55
SLIDE 55

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Sequent Calculus: Bottom Up Proof

K : B → C; a : A ⊢ a : A a : A; b : B ⊢ b : B a : A; b : B; γ : C ⊢ γ : C b ◦ γ : B → C; a : A; b : B ⊢ γ : C K : B → C; a : A; ˜ µb : B.K||b ◦ γ : B ⊢ γ : C a ◦ ˜ µb : B.K||b ◦ γ : A → B; K : B → C; a : A ⊢ γ : C H : A → B; K : B → C; a : A ⊢ µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : C H : A → B; K : B → C ⊢ λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : A → C H : A → B ⊢ λK : B → C.λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : (B → C) → A → C ⊢ λH : A → B.λK : B → C.λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : (A → B) → (B → C) → A → C Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-56
SLIDE 56

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Sequent Calculus: Bottom Up Proof

λH : A → B.λK : B → C.λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ suppose A → B (H) λH : A → B. suppose B → C (K) λK : B → C. suppose A (a) λa : A. we need to prove C µγ : C. by H and a H||a we have B (b)

  • ˜

µb : B. by K and b K||b qed

  • γ

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-57
SLIDE 57

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Sequent Calculus: Bottom Up Proof

λH : A → B.λK : B → C.λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ suppose A → B (H) λH : A → B. suppose B → C (K) λK : B → C. suppose A (a) λa : A. we need to prove C µγ : C. by H and a H||a we have B (b)

  • ˜

µb : B. by K and b K||b qed

  • γ

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-58
SLIDE 58

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Sequent Calculus: Bottom Up Proof

λH : A → B.λK : B → C.λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ suppose A → B (H) λH : A → B. suppose B → C (K) λK : B → C. suppose A (a) λa : A. we need to prove C µγ : C. by H and a H||a we have B (b)

  • ˜

µb : B. by K and b K||b qed

  • γ

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-59
SLIDE 59

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Sequent Calculus: Bottom Up Proof

λH : A → B.λK : B → C.λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ suppose A → B (H) λH : A → B. suppose B → C (K) λK : B → C. suppose A (a) λa : A. we need to prove C µγ : C. by H and a H||a we have B (b)

  • ˜

µb : B. by K and b K||b qed

  • γ

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-60
SLIDE 60

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Sequent Calculus: Bottom Up Proof

K : B → C; a : A ⊢ a : A a : A; b : B ⊢ b : B a : A; b : B; γ : C ⊢ γ : C b ◦ γ : B → C; a : A; b : B ⊢ γ : C K : B → C; a : A; ˜ µb : B.K||b ◦ γ : B ⊢ γ : C a ◦ ˜ µb : B.K||b ◦ γ : A → B; K : B → C; a : A ⊢ γ : C H : A → B; K : B → C; a : A ⊢ µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : C H : A → B; K : B → C ⊢ λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : A → C H : A → B ⊢ λK : B → C.λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : (B → C) → A → C ⊢ λH : A → B.λK : B → C.λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : (A → B) → (B → C) → A → C Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-61
SLIDE 61

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Sequent Calculus: Bottom Up Proof

K : B → C; a : A ⊢ a : A a : A; b : B ⊢ b : B a : A; b : B; γ : C ⊢ γ : C b ◦ γ : B → C; a : A; b : B ⊢ γ : C K : B → C; a : A; ˜ µb : B.K||b ◦ γ : B ⊢ γ : C a ◦ ˜ µb : B.K||b ◦ γ : A → B; K : B → C; a : A ⊢ γ : C H : A → B; K : B → C; a : A ⊢ µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : C H : A → B; K : B → C ⊢ λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : A → C H : A → B ⊢ λK : B → C.λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : (B → C) → A → C ⊢ λH : A → B.λK : B → C.λa : A.µγ : C.H||a ◦ ˜ µb : B.K||b ◦ γ : (A → B) → (B → C) → A → C Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-62
SLIDE 62

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Sequent Calculus: Top Down Proof

suppose A → B (H) λH : A → B. suppose B → C (K) λK : B → C. suppose A (a) λa : A. we need to prove C µγ : C. by K K|| we reduce the thesis to B µβ : B. by H H|| we reduce the thesis to A µα : A. by a a|| qed α qed

  • β

qed

  • γ

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-63
SLIDE 63

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Sequent Calculus: Top Down Proof

suppose A → B (H) λH : A → B. suppose B → C (K) λK : B → C. suppose A (a) λa : A. we need to prove C µγ : C. by K K|| we reduce the thesis to B µβ : B. by H H|| we reduce the thesis to A µα : A. by a a|| qed α qed

  • β

qed

  • γ

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-64
SLIDE 64

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Sequent Calculus: Top Down Proof

suppose A → B (H) λH : A → B. suppose B → C (K) λK : B → C. suppose A (a) λa : A. we need to prove C µγ : C. by K K|| we reduce the thesis to B µβ : B. by H H|| we reduce the thesis to A µα : A. by a a|| qed α qed

  • β

qed

  • γ

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-65
SLIDE 65

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Sequent Calculus: Top Down Proof

suppose A → B (H) λH : A → B. suppose B → C (K) λK : B → C. suppose A (a) λa : A. we need to prove C µγ : C. by K K|| we reduce the thesis to B µβ : B. by H H|| we reduce the thesis to A µα : A. by a a|| qed α qed

  • β

qed

  • γ

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-66
SLIDE 66

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Some Intuitions (a posteriori)

Isomorphic to Sequent calculus ⇒ bottom-up vs top-down proofs Explicit manipulation of continuations ⇒ it allows to state and operate on the future (i.e. what we need to prove) Continuations as first class objects and multiple continuations ⇒ classical logic Syntactic reification of call-by-value vs call-by-name ⇒ bottom-up vs top-down proofs Explicit labelling of each value computed in the past/continuation ⇒ the CPS style ⇒ Göedel’s A-translation ⇒ classical logic

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-67
SLIDE 67

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Some Intuitions (a posteriori)

Isomorphic to Sequent calculus ⇒ bottom-up vs top-down proofs Explicit manipulation of continuations ⇒ it allows to state and operate on the future (i.e. what we need to prove) Continuations as first class objects and multiple continuations ⇒ classical logic Syntactic reification of call-by-value vs call-by-name ⇒ bottom-up vs top-down proofs Explicit labelling of each value computed in the past/continuation ⇒ the CPS style ⇒ Göedel’s A-translation ⇒ classical logic

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-68
SLIDE 68

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Some Intuitions (a posteriori)

Isomorphic to Sequent calculus ⇒ bottom-up vs top-down proofs Explicit manipulation of continuations ⇒ it allows to state and operate on the future (i.e. what we need to prove) Continuations as first class objects and multiple continuations ⇒ classical logic Syntactic reification of call-by-value vs call-by-name ⇒ bottom-up vs top-down proofs Explicit labelling of each value computed in the past/continuation ⇒ the CPS style ⇒ Göedel’s A-translation ⇒ classical logic

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-69
SLIDE 69

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Some Intuitions (a posteriori)

Isomorphic to Sequent calculus ⇒ bottom-up vs top-down proofs Explicit manipulation of continuations ⇒ it allows to state and operate on the future (i.e. what we need to prove) Continuations as first class objects and multiple continuations ⇒ classical logic Syntactic reification of call-by-value vs call-by-name ⇒ bottom-up vs top-down proofs Explicit labelling of each value computed in the past/continuation ⇒ the CPS style ⇒ Göedel’s A-translation ⇒ classical logic

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-70
SLIDE 70

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

Some Intuitions (a posteriori)

Isomorphic to Sequent calculus ⇒ bottom-up vs top-down proofs Explicit manipulation of continuations ⇒ it allows to state and operate on the future (i.e. what we need to prove) Continuations as first class objects and multiple continuations ⇒ classical logic Syntactic reification of call-by-value vs call-by-name ⇒ bottom-up vs top-down proofs Explicit labelling of each value computed in the past/continuation ⇒ the CPS style ⇒ Göedel’s A-translation ⇒ classical logic

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-71
SLIDE 71

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary Curry-Howard

The Great Mistery (no intuition yet)

The function that associates to a term its natural language is fully structural (from left to right, from top to bottom, only immediate recursion).

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms

slide-72
SLIDE 72

Overview The λ-calculus as a (bad) Proof Format The ¯ λµ˜ µ-calculus as a (good) Proof Format Summary

Summary

Natural language is NOT isomorphic to natural deduction: it is isomorphic to sequent calculus . . . . . . and via Curry-Howard to the ¯ λµ˜ µ-calculus The isomorphism between the ¯ λµ˜ µ-calculus and the natural language is

fully explicit (no need for type inference, labelling, etc.) (as for OMDoc) fully compositional (top to bottom, left to right) (as for OMDoc)

The ¯ λµ˜ µ-calculus has very nice theoretical properties (e.g. cut elimination) (cfr. OMDoc) We are looking for a bisimulation between the ¯ λµ˜ µ-calculus and OMDoc Fellowship is a proof assistant for first order subtractive logic (∀, ∃, ∧, ∨, →, −) with ¯ λµ˜ µ-calculus proof objects

Claudio Sacerdoti Coen Explanation in Natural Language of ¯ λµ˜ µ-terms