Typage et déduction dans le calcul de

Size: px
Start display at page:

Download "Typage et déduction dans le calcul de"

Transcription

1 Typage et déduction dans le calcul de réécriture Benjamin Wack Encadrants : C. Kirchner, L. Liquori

2 Deduction and computation λ-calculus [Church 40] is a simple and powerful computational model Explicit notions of function, application, binding Turing equivalent Type systems and deduction in the rewriting calculus Introduction - 2

3 Deduction and computation λ-calculus [Church 40] is a simple and powerful computational model Explicit notions of function, application, binding Turing equivalent Simply typed λ-calculus [Church 40, Curry 34] Ensures strong normalization Isomorphism with natural deduction for intuitionistic logic [Curry, Howard, de Bruijn] Type systems and deduction in the rewriting calculus Introduction - 2

4 Deduction and computation λ-calculus [Church 40] is a simple and powerful computational model Explicit notions of function, application, binding Turing equivalent Simply typed λ-calculus [Church 40, Curry 34] Ensures strong normalization Isomorphism with natural deduction for intuitionistic logic [Curry, Howard, de Bruijn] Various extensions [de Bruijn 70, Girard 72, Coquand 85, Berardi 88, Paulin 90] To broaden the expressiveness of the logic To ease the definition of elaborated functions Type systems and deduction in the rewriting calculus Introduction - 2

5 More computational power? Explicit introduction of rewriting in the system [Breazu-Tannen, Jouannaud, Okada et al.] Term rewriting Higher-order rewriting Type systems and deduction in the rewriting calculus Introduction - 3

6 More computational power? Explicit introduction of rewriting in the system [Breazu-Tannen, Jouannaud, Okada et al.] Term rewriting Higher-order rewriting Removal of computational arguments from formal proofs Poincaré principle [Barendregt & Barendsen] Deduction modulo [Dowek, Hardin, Kirchner, Werner] Type systems and deduction in the rewriting calculus Introduction - 3

7 More computational power? Explicit introduction of rewriting in the system [Breazu-Tannen, Jouannaud, Okada et al.] Term rewriting Higher-order rewriting Removal of computational arguments from formal proofs Poincaré principle [Barendregt & Barendsen] Deduction modulo [Dowek, Hardin, Kirchner, Werner] The rewriting calculus [Cirstea, Kirchner, Liquori et al.] Designed as a semantics for rule-based languages Embeds the λ-calculus and various aspects of rewriting Type systems and deduction in the rewriting calculus Introduction - 3

8 Contents 1. Untyped rewriting calculus 2. Type systems for programming Properties and type inference Typed encoding of term rewriting systems 3. Pure Pattern Type Systems Strong normalization in ρ and ρp 4. Using the ρ-calculus for deduction P 2 T S-proof terms for deduction modulo Generalized Natural Deduction

9 The Untyped Syntax P T Patterns T ::= X K λp.t T T T T Terms 1. λp.a denotes an abstraction with pattern P and body A... the free variables of P are bound in A 2. The terms can also be structures built using the symbol 3. We work modulo α-conversion and Barendregt s hygiene-convention Type systems and deduction in the rewriting calculus The untyped rewriting calculus - 5

10 Some ρ-terms (λx.x x) (λx.x x) the λ-term (ωω) (λ(f x y).(g y x)) (f a b) the application of a rewrite rule (λa.b λa.c) a the parallel application of two rules Type systems and deduction in the rewriting calculus The untyped rewriting calculus - 6

11 Some ρ-terms (λx.x x) (λx.x x) the λ-term (ωω) (λ(f x y).(g y x)) (f a b) the application of a rewrite rule (λa.b λa.c) a the parallel application of two rules Type systems and deduction in the rewriting calculus The untyped rewriting calculus - 6

12 Some ρ-terms (λx.x x) (λx.x x) the λ-term (ωω) (λ(f x y).(g y x)) (f a b) the application of a rewrite rule (λa.b λa.c) a the parallel application of two rules Type systems and deduction in the rewriting calculus The untyped rewriting calculus - 6

13 The Small-step Reduction Semantics (λp.a) B ρ Aθ if P θ B (A B) C δ A C B C Type systems and deduction in the rewriting calculus The untyped rewriting calculus - 7

14 Some ρ-reductions (λx.x x) (λx.x x) (λ(f x y).g y x) (f a b) (λa.b λa.c) a Type systems and deduction in the rewriting calculus The untyped rewriting calculus - 8

15 Some ρ-reductions (λx.x x) (λx.x x) ρ {ω ω} ρδ... (λ(f x y).g y x) (f a b) (λa.b λa.c) a Type systems and deduction in the rewriting calculus The untyped rewriting calculus - 8

16 Some ρ-reductions (λx.x x) (λx.x x) ρ {ω ω} ρδ... (λ(f x y).g y x) (f a b) ρ g b a (λa.b λa.c) a Type systems and deduction in the rewriting calculus The untyped rewriting calculus - 8

17 Some ρ-reductions (λx.x x) (λx.x x) ρ {ω ω} ρδ... (λ(f x y).g y x) (f a b) ρ g b a (λa.b λa.c) a δ (λa.b) a (λa.c) a ρ b c Type systems and deduction in the rewriting calculus The untyped rewriting calculus - 8

18 About preredexes ( λ(f x).(λa.b) x ) (f a) Type systems and deduction in the rewriting calculus The untyped rewriting calculus - 9

19 About preredexes ( ) λ(f x).(λa.b) x (f a) a preredex (not reducible) Type systems and deduction in the rewriting calculus The untyped rewriting calculus - 9

20 About preredexes ( ) λ(f x).(λa.b) x (f a) a preredex (not reducible) ρ (λa.b) a b Type systems and deduction in the rewriting calculus The untyped rewriting calculus - 9

21 Ensuring confluence Strategies Call by value... Suitable for operational semantics but not adapted for logics Restrictions on patterns [van Oostrom 90] Algebraic and linear More restrictive but stable by reduction Type systems and deduction in the rewriting calculus The untyped rewriting calculus - 10

22 About the expressiveness of the ρ-calculus The λ-calculus is fully embedded in the ρ-calculus [Cirstea & Kirchner 98] β-reductions are faithfully mimicked a λ-term ρ-reduces to λ-terms only Various aspects of rewriting can be represented [Cirstea & Kirchner 98] Rewriting paths Rewriting systems Rewriting strategies Various object calculi can be encoded [Cirstea, Kirchner & Liquori 01] Type systems and deduction in the rewriting calculus The untyped rewriting calculus - 11

23 Contents 1. Untyped rewriting calculus 2. Type systems for programming Properties and type inference Typed encoding of term rewriting systems 3. Pure Pattern Type Systems Strong normalization in ρ and ρp 4. Using the ρ-calculus for deduction P 2 T S-proof terms for deduction modulo Generalized Natural Deduction

24 A Simple Type System ρ 1 x : σ Γ Γ Σ x : σ (V ar) f:σ Σ Γ Σ f : σ (Const) Type systems and deduction in the rewriting calculus Types for programming - 13

25 A Simple Type System ρ 1 x : σ Γ Γ Σ x : σ (V ar) f:σ Σ Γ Σ f : σ (Const) Γ Σ A : σ τ Γ Σ B : σ Γ Σ A B : τ (Appl) Type systems and deduction in the rewriting calculus Types for programming - 13

26 A Simple Type System ρ 1 x : σ Γ Γ Σ x : σ (V ar) f:σ Σ Γ Σ f : σ (Const) Γ Σ A : σ τ Γ Σ B : σ Γ Σ A B : τ Γ, Σ P : σ Γ, Σ A : τ Γ Σ λ(p : ).A : σ τ (Appl) (Abs) Dom( ) = FV(P ) Type systems and deduction in the rewriting calculus Types for programming - 13

27 A Simple Type System ρ 1 x : σ Γ Γ Σ x : σ (V ar) f:σ Σ Γ Σ f : σ (Const) Γ Σ A : σ τ Γ Σ B : σ Γ Σ A B : τ Γ, Σ P : σ Γ, Σ A : τ Γ Σ λ(p : ).A : σ τ (Appl) (Abs) Dom( ) = FV(P ) Γ Σ A : σ Γ Σ B : σ Γ Σ A B : σ (Struct) Type systems and deduction in the rewriting calculus Types for programming - 13

28 Polymorphic extensions à la Church à la Curry Γ Σ A : σ α F V (Γ) Γ Σ λα.a : α.σ (Abs ) Γ Σ A : α.σ Γ Σ Aτ : σ[α := τ] (App ) Type systems and deduction in the rewriting calculus Types for programming - 14

29 Polymorphic extensions à la Church à la Curry Γ Σ A : σ α F V (Γ) Γ Σ λα.a : α.σ (Abs ) Γ Σ A : σ α F V (Γ) Γ Σ A : α.σ (Abs ) Γ Σ A : α.σ Γ Σ Aτ : σ[α := τ] (App ) Γ Σ A : α.σ Γ Σ A : σ[α := τ] (App ) Type systems and deduction in the rewriting calculus Types for programming - 14

30 Polymorphic extensions à la Church à la Curry Γ Σ A : σ α F V (Γ) Γ Σ λα.a : α.σ (Abs ) Γ Σ A : σ α F V (Γ) Γ Σ A : α.σ (Abs ) Γ Σ A : α.σ Γ Σ Aτ : σ[α := τ] (App ) Γ Σ A : α.σ Γ Σ A : σ[α := τ] (App ) (f:σ) Σ, σ α(σ 1... ι(β)) where β = BV(σ) Type systems and deduction in the rewriting calculus Types for programming - 14

31 Typing properties Well-typed matching If P θ A, then x P, Γ Σ x : σ Γ Σ xθ : σ Subject Reduction [Cirstea, Liquori & Wack 03] If Γ Σ A : σ and A ρδ B, then Γ Σ B : σ Uniqueness [Cirstea, Liquori & Wack 03] In systems à la Church, if Γ Σ A : σ and Γ Σ A : τ, then τ = α σ Decidability [Liquori & Wack 04] (typechecking) Γ In systems à la Church, Σ T : σ? (type reconstruction) Γ Σ T :? In systems à la Curry, both are undecidable } are decidable Type systems and deduction in the rewriting calculus Types for programming - 15

32 Type inference In systems à la Church, type inference is fully guided by syntax The type system à la Curry has to be restricted The only legal types are type-schemes α.τ where τ is a simple type Polymorphism is restricted to a new construction [P A]B (similar to let...in) Inference works in the style of the Damas-Milner algorithm Type systems and deduction in the rewriting calculus Types for programming - 16

33 Normalization failure ω = λ x.x x ω ω (λ x. x x) ω ρ ω ω ρ... Type systems and deduction in the rewriting calculus Types for programming - 17

34 Normalization failure Γ = x : α α, ω = λ x.x x ω ω (λ x. x x) ω ρ ω ω ρ... Type systems and deduction in the rewriting calculus Types for programming - 17

35 Normalization failure f : (α α) α and Γ = x : α α, ω = λ(f x).x (f x) ω (f ω) (λ(f x). x (f x))) (f ω) ρ ω (f ω) ρ... Type systems and deduction in the rewriting calculus Types for programming - 17

36 Normalization failure (cont d) f : (α α) α and Γ = x : α α, ω = λf x.x (f x) Γ Σ f : (α α) α Γ Σ x : α α Γ Σ x : α α Γ Σ f x : α Γ Σ x (f x) : α Σ ω (f ω) : α Type systems and deduction in the rewriting calculus Types for programming - 18

37 Encoding rewriting systems in the ρ-calculus Addition over Peano integers: plus = λrec z. ( Σ = {0, S, rec, add} λ(add 0 y). y λ(add(s x) y). S ( (z (rec z)) (add x y) ) ) Type systems and deduction in the rewriting calculus Encoding rewriting systems - 19

38 Encoding rewriting systems in the ρ-calculus Addition over Peano integers: plus = λrec z. ( Σ = {0, S, rec, add} λ(add 0 y). y λ(add(s x) y). S ( (z (rec z)) (add x y) ) ) (plus (rec plus)) (add N M) ρδ (λ0.m) N (λ0. M +1) Ñ 1 (λ0. M +N) 0 (λ(s x)....) 0 Type systems and deduction in the rewriting calculus Encoding rewriting systems - 19

39 Encoding rewriting systems in the ρ-calculus Addition over Peano integers: plus = λrec z. ( Σ = {0, S, rec, add} λ(add 0 y). y λ(add(s x) y). S ( (z (rec z)) (add x y) ) ) (plus (rec plus)) (add N M) ρδ (λ0.m) N (λ0. M +1) Ñ 1 (λ0. M +N) 0 (λ(s x)....) 0? M + N Type systems and deduction in the rewriting calculus Encoding rewriting systems - 19

40 Detecting matching failures: the symbol stk The relation P A detects (some) definitive matching failures Type systems and deduction in the rewriting calculus Encoding rewriting systems - 20

41 Detecting matching failures: the symbol stk The relation P A detects (some) definitive matching failures The relation stk treats matching failures uniformly: (λp :.A) B stk stk if P B stk A stk A A stk stk A stk A stk stk Type systems and deduction in the rewriting calculus Encoding rewriting systems - 20

42 Detecting matching failures: the symbol stk The relation P A detects (some) definitive matching failures The relation stk treats matching failures uniformly: (λp :.A) B stk stk if P B stk A stk A A stk stk A stk A stk stk Theorem [Cirstea, Liquori & Wack 03] The reduction stk ρδ is confluent Type systems and deduction in the rewriting calculus Encoding rewriting systems - 20

43 Systematic encoding There exists a ρ-term first (using stk) such that (first A 1 A 2... A n ) B stk ρδ A i+1 B if A i+1 B j i, A j B ρδ stk ρδ stk stk stk Type systems and deduction in the rewriting calculus Encoding rewriting systems - 21

44 Systematic encoding There exists a ρ-term first (using stk) such that (first A 1 A 2... A n ) B stk ρδ A i+1 B if A i+1 B j i, A j B ρδ stk ρδ stk stk stk The Term Rewrite System R = {l i r i } with signature {a j } is encoded by: λl 1. z (rec z) r 1 R = λ(rec z). first λ(a 1 x). z (rec z) a 1 (z (rec z) x) Type systems and deduction in the rewriting calculus Encoding rewriting systems - 21

45 Properties of the encoding Theorem [Cirstea, Liquori & Wack 03] This encoding is sound for left-linear TRS complete for convergent TRS typable if the TRS is well-typed Remark [Cirstea, Kirchner, Liquori & Wack 03] Various strategies can be encoded Type systems and deduction in the rewriting calculus Encoding rewriting systems - 22

46 Other cases of non termination under typing In CaML, ω can be written type t = F of (t -> t);; let omega x = match x with (F y) -> y (F y);; In CIC, type constructors must fulfill a positiveness condition [Mendler 87] Type systems and deduction in the rewriting calculus The source of non termination - 23

47 Logical inconsistency In this type system, the Curry-Howard isomorphism is not valid: Γ, Σ P : σ Γ, Σ A : τ Γ Σ λp :. A : σ τ (Abs) Γ, Σ σ Γ, Σ τ Γ Σ σ τ ( I) Type systems and deduction in the rewriting calculus The source of non termination - 24

48 Logical inconsistency In this type system, the Curry-Howard isomorphism is not valid: Γ, Σ P : σ Γ, Σ A : τ Γ Σ λp :. A : σ τ (Abs) Γ, Σ σ Γ, Σ τ Γ Σ σ τ ( I) How to fix it? Γ, X i : σ i Σ A : τ Γ Σ λp.a : ( σ i ) τ (Abs), FV(P ) = {X i} But how to type applications? Type systems and deduction in the rewriting calculus The source of non termination - 24

49 Contents 1. Untyped rewriting calculus 2. Type systems for programming Properties and type inference Typed encoding of term rewriting systems 3. Pure Pattern Type Systems Strong normalization in ρ and ρp 4. Using the ρ-calculus for deduction P 2 T S-proof terms for deduction modulo Generalized Natural Deduction

50 Dependent type discipline in P 2 T S Γ, Σ B : C Γ Σ ΠP :.C : s Γ Σ λp :.B : ΠP :.C (Abs) Γ Σ A : ΠP :.C Γ Σ [P B]C : s Γ Σ A B : [P B]C (Appl) Γ, Σ P : A Γ Σ B : A Γ, Σ A : s 1 Γ, Σ C : s 2 Γ Σ [P B]C : s 2 (Match) Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 26

51 Dependent type discipline in P 2 T S Γ, Σ B : C Γ Σ ΠP :.C : s Γ Σ λp :.B : ΠP :.C (Abs) Γ Σ A : ΠP :.C Γ Σ [P B]C : s Γ Σ A B : [P B]C (Appl) Γ, Σ P : A Γ Σ B : A Γ, Σ A : s 1 Γ, Σ C : s 2 Γ Σ [P B]C : s 2 (Match) With = {x:ι, l:list} we have Σ λ(cons x l):. x : Π(cons x l):. ι Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 26

52 The ρ-cube ρ2 ρω ρcc ρp 2 (, ) ρω (, ) ρ (, ) ρp ρp ω Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 27

53 Typing properties [Barthe, Cirstea, Kirchner & Liquori 03] Subject reduction: Γ Σ A : C A ρδ B Γ Σ B : C Correctness: Γ Σ A : B Γ Σ B : s B s Consistency: A Nf(ρδ) Σ A : ( = x:.x) Uniqueness: Γ Σ A : B Γ Σ A : B B = ρδ B Conservativity: Γ P T S A : B Γ P 2 T S A : B Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 28

54 Typing is more restrictive Here, with {x : Πz:α.α}: And: Σ ω = λ(f x):.x (f x) : Π(f x):.α Σ f : Π(y : Πz:α.α).α But to type f ω the pattern y and the argument ω must have a common type σ Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 29

55 Strong normalization : sketch of the proof Theorem [Wack 04]: In ρ and ρp, if Γ Σ A : C then A and C are SN Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 30

56 Strong normalization : sketch of the proof Theorem [Wack 04]: In ρ and ρp, if Γ Σ A : C then A and C are SN 1. Find a translation : P 2 T S λω correct w.r.t. reductions If A ρσδ B, then A β B in at least one step Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 30

57 Strong normalization : sketch of the proof Theorem [Wack 04]: In ρ and ρp, if Γ Σ A : C then A and C are SN 1. Find a translation : P 2 T S λω correct w.r.t. reductions If A ρσδ B, then A β B in at least one step 2. Typability of the translated terms Σ, Γ Σ A : C τ, Γ λω A : τ Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 30

58 Strong normalization : sketch of the proof Theorem [Wack 04]: In ρ and ρp, if Γ Σ A : C then A and C are SN 1. Find a translation : P 2 T S λω correct w.r.t. reductions If A ρσδ B, then A β B in at least one step 2. Typability of the translated terms Σ, Γ Σ A : C τ, Γ λω A : τ 3. Usual techniques can be adapted to reduce SN in ρp to SN in ρ Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 30

59 Correctness of reductions (λ(f x).x) (f a) = ( λu.(u(λx.x)) ) ( (λx 1.λz.(zx 1 ))(λv.v) ) β λv.v = a Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 31

60 Correctness of reductions (λ(f x).x) (f a) = ( λu.(u(λx.x)) ) ( (λx 1.λz.(zx 1 ))(λv.v) ) β λv.v = a The ρ-term ( λy.(λ(f x).x) y ) (f a) features a preredex Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 31

61 Correctness of reductions (λ(f x).x) (f a) = ( λu.(u(λx.x)) ) ( (λx 1.λz.(zx 1 ))(λv.v) ) β λv.v = a The ρ-term ( λy.(λ(f x).x) y ) (f a) features a preredex Thus, the reductions of the λ-term ( λy.(λ(f x).x) y ) (f a) must mimick first an external ρ-reduction Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 31

62 Correctness of reductions (λ(f x).x) (f a) = ( λu.(u(λx.x)) ) ( (λx 1.λz.(zx 1 ))(λv.v) ) β λv.v = a The ρ-term ( λy.(λ(f x).x) y ) (f a) features a preredex Thus, the reductions of the λ-term ( λy.(λ(f x).x) y ) (f a) must mimick first an external ρ-reduction Remark: a term produced by the translation may have additional reductions Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 31

63 The type of a translated pattern A naive translation gives λω f B : (σ β) β λω λ(f x).a : ((σ τ) γ) γ where τ is the type of A Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 32

64 The type of a translated pattern A naive translation gives λω f B : (σ β) β λω λ(f x).a : ((σ τ) γ) γ where τ is the type of A (σ τ) γ = (σ β) β thus τ = β = γ Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 32

65 The type of a translated pattern A naive translation gives λω f B : (σ β) β λω λ(f x).a : ((σ τ) γ) γ where τ is the type of A (σ τ) γ = (σ β) β thus τ = β = γ The actual translation features terms depending on types f B : β.(σ β β) λ(f x).a : β.(σ β β) τ Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 32

66 The type of a translated variable Naive translation x : Πy:ι.ι Σ x : Πy:ι. ι Σ λy:ι. y : Πy:ι. ι Σ λy:ι. a : Πy:ι. ι Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 33

67 The type of a translated variable Naive translation x : Πy:ι.ι Σ x : Πy:ι. ι Σ λy:ι. y : Πy:ι. ι Σ λy:ι. a : Πy:ι. ι Γ λω λy:β y.y : β y β y Γ λω λy:β y. a : β y α.(α α) Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 33

68 The type of a translated variable Naive translation x : Πy:ι.ι Σ x : Πy:ι. ι Σ λy:ι. y : Πy:ι. ι Σ λy:ι. a : Πy:ι. ι Γ λω λy:β y.y : β y β y Γ λω λy:β y. a : β y α.(α α) Use of types depending on types β x :, β y : λω x : β y β x β y Type systems and deduction in the rewriting calculus Pure Pattern Type Systems - 33

69 Contents 1. Untyped rewriting calculus 2. Type systems for programming Properties and type inference Typed encoding of term rewriting systems 3. Pure Pattern Type Systems Strong normalization in ρ and ρp 4. Using the ρ-calculus for deduction P 2 T S-proof terms for deduction modulo Generalized Natural Deduction

70 A linear representation of NDM proofs A proof in Natural Deduction Modulo: the congruence states that e is the neutral element of a group: e x = x y.(y e = y) = y.(y e = y) (Ax) y.(y e = y) = e e ( E) = e y.(y e = y) = e ( =) with e e = e = e = y.(y e = y) e ( I) = e Type systems and deduction in the rewriting calculus Proof terms for deduction modulo - 35

71 A linear representation of NDM proofs A proof in Natural Deduction Modulo: the congruence states that e is the neutral element of a group: e x = x y.(y e = y) = y.(y e = y) (Ax) y.(y e = y) = e e ( E) = e y.(y e = y) = e ( =) with e e = e = e = y.(y e = y) e ( I) = e λ-calculus is sufficient to write witnesses [Dowek & Werner 03] λα.(α e) the witness is short and focuses on reasoning but proof reconstruction can be tedious Type systems and deduction in the rewriting calculus Proof terms for deduction modulo - 35

72 A more explicit representation Using P 2 T S, conversions can be accounted for by dedicated constructs in the style of Leibniz s equality : Σ Rew φ t (λl.r) π : φ((λl.r) t) Type systems and deduction in the rewriting calculus Proof terms for deduction modulo - 36

73 A more explicit representation Using P 2 T S, conversions can be accounted for by dedicated constructs in the style of Leibniz s equality : Σ Rew φ t (λl.r) π : φ((λl.r) t) The new proof term for our example is ( λα. Rew ( λy.(y=e) ) (e e ) ( λ(e x).x ) ) (α e) Type systems and deduction in the rewriting calculus Proof terms for deduction modulo - 36

74 A more explicit representation Using P 2 T S, conversions can be accounted for by dedicated constructs in the style of Leibniz s equality : Σ Rew φ t (λl.r) π : φ((λl.r) t) The new proof term for our example is ( λα. Rew ( λy.(y=e) ) (e e ) ( λ(e x).x ) ) (α e) Proposition: For conversion on propositions, application of rewrite rules at top-level is sufficient Type systems and deduction in the rewriting calculus Proof terms for deduction modulo - 36

75 A Curry-Howard-de Bruijn correspondence Theorem [Wack 05]: Full proof representation Type systems and deduction in the rewriting calculus Proof terms for deduction modulo - 37

76 A Curry-Howard-de Bruijn correspondence Theorem [Wack 05]: Full proof representation Incomplete proof reduction Every redex represents a cut But some cuts are obfuscated by conversion rules ( I) ( =) ( E) p = p = p p = q p = p. = q? Conjecture : additional fold-unfold reduction rules allow to reduce every cut Type systems and deduction in the rewriting calculus Proof terms for deduction modulo - 37

77 Main benefits Proof checking reduces to type checking and matching Construction of the conversion steps can be delegated to an efficient rewriting-based software A λ-proof term can always be extracted from a ρ-proof term The set of used rewrite rules can also be extracted Type systems and deduction in the rewriting calculus Proof terms for deduction modulo - 38

78 A simple proof in Natural Deduction... The theory T contains at least { X Y x(x X x Y ) x(x ) Type systems and deduction in the rewriting calculus A generalization of natural deduction - 39

79 A simple proof in Natural Deduction... The theory T contains at least { X Y x(x X x Y ) x(x ) T A Type systems and deduction in the rewriting calculus A generalization of natural deduction - 39

80 A simple proof in Natural Deduction... The theory T contains at least { X Y x(x X x Y ) x(x ) (Ax) ( E) (Ax) T, x x(x ) ( E) ( E) T, x x ( I) ( I) ( E) T, x T, x x A T x x A T x(x x A) T... (Ax) T, x x T x(x x A) A T x(x x A) T A Type systems and deduction in the rewriting calculus A generalization of natural deduction - 39

81 ... shorter in deduction modulo In NDM the context is empty and R = { X Y x(x X x Y ) x Type systems and deduction in the rewriting calculus A generalization of natural deduction - 40

82 ... shorter in deduction modulo In NDM the context is empty and R = { X Y x(x X x Y ) x ( E) ( I) ( I) (Ax) x = x = x A = x x A = A x = A =... Type systems and deduction in the rewriting calculus A generalization of natural deduction - 40

83 ... shorter in deduction modulo In NDM the context is empty and R = { X Y x(x X x Y ) x ( E) ( I) ( I) (Ax) x = x = x A = x x A = A x = A =... The proof is shorter but not very informative Type systems and deduction in the rewriting calculus A generalization of natural deduction - 40

84 A generalization of Natural Deduction We consider some new rules about predicate symbols: ( I) Γ, x X x Y Γ X Y x / FV(Γ) ( E) Γ x Γ φ Type systems and deduction in the rewriting calculus A generalization of natural deduction - 41

85 A generalization of Natural Deduction We consider some new rules about predicate symbols: ( I) Γ, x X x Y Γ X Y x / FV(Γ) ( E) Γ x Γ φ A Type systems and deduction in the rewriting calculus A generalization of natural deduction - 41

86 A generalization of Natural Deduction We consider some new rules about predicate symbols: ( I) Γ, x X x Y Γ X Y x / FV(Γ) ( E) Γ x Γ φ ( I) x x A A Type systems and deduction in the rewriting calculus A generalization of natural deduction - 41

87 A generalization of Natural Deduction We consider some new rules about predicate symbols: ( I) Γ, x X x Y Γ X Y x / FV(Γ) ( E) Γ x Γ φ (Ax) x x ( E) ( I) x x A A Type systems and deduction in the rewriting calculus A generalization of natural deduction - 41

88 A generalization of Natural Deduction We consider some new rules about predicate symbols: ( I) Γ, x X x Y Γ X Y x / FV(Γ) ( E) Γ x Γ φ (Ax) x x ( E) ( I) x x A A The proof is even shorter than in NDM and bears some resemblance with an old-school mathematic style Type systems and deduction in the rewriting calculus A generalization of natural deduction - 41

89 Systematic generation of the new inference rules For each defined predicate P (i.e. there is a rewrite rule P φ): decompose φ along the connectives and and gather all the assumptions and side conditions to build a new rule Type systems and deduction in the rewriting calculus A generalization of natural deduction - 42

90 Systematic generation of the new inference rules For each defined predicate P (i.e. there is a rewrite rule P φ): decompose φ along the connectives and and gather all the assumptions and side conditions to build a new rule Example: X Y x.(x X x Y ) gives Type systems and deduction in the rewriting calculus A generalization of natural deduction - 42

91 Systematic generation of the new inference rules For each defined predicate P (i.e. there is a rewrite rule P φ): decompose φ along the connectives and and gather all the assumptions and side conditions to build a new rule Example: X Y x.(x X x Y ) gives Γ, x X x Y Γ x X x Y Γ x.(x X x Y ) Type systems and deduction in the rewriting calculus A generalization of natural deduction - 42

92 Systematic generation of the new inference rules For each defined predicate P (i.e. there is a rewrite rule P φ): decompose φ along the connectives and and gather all the assumptions and side conditions to build a new rule Example: X Y x.(x X x Y ) gives Γ, x X x Y Γ x X x Y Γ x.(x X x Y ) ( I) Γ, x X x Y Γ X Y Type systems and deduction in the rewriting calculus A generalization of natural deduction - 42

93 Systematic generation of the new inference rules For each defined predicate P (i.e. there is a rewrite rule P φ): decompose φ along the connectives and and gather all the assumptions and side conditions to build a new rule Example: X Y x.(x X x Y ) gives Γ, x X x Y Γ x X x Y Γ x.(x X x Y ) Γ x.(x X x Y ) Γ t X t Y Γ t Y Γ t X ( I) Γ, x X x Y Γ X Y Type systems and deduction in the rewriting calculus A generalization of natural deduction - 42

94 Systematic generation of the new inference rules For each defined predicate P (i.e. there is a rewrite rule P φ): decompose φ along the connectives and and gather all the assumptions and side conditions to build a new rule Example: X Y x.(x X x Y ) gives Γ, x X x Y Γ x X x Y Γ x.(x X x Y ) Γ x.(x X x Y ) Γ t X t Y Γ t Y Γ t X ( I) Γ, x X x Y Γ X Y ( E) Γ X Y Γ t X Γ t Y Type systems and deduction in the rewriting calculus A generalization of natural deduction - 42

95 Conservativity w.r.t first-order logic Theorem: Every defined predicate is provably equivalent to its definition Thus, a GND system is correct and complete if and only if the corresponding NDM system is correct and complete Type systems and deduction in the rewriting calculus A generalization of natural deduction - 43

96 Cut elimination A new notion of cut appears for each defined predicate:. D 1 ( E). D 2 Γ t X ( I) Γ, x X x Y Γ X Y Γ t Y (x / FV(Γ)) Type systems and deduction in the rewriting calculus A generalization of natural deduction - 44

97 Cut elimination A new notion of cut appears for each defined predicate:. D 1 ( E). D 2 Γ t X ( I) Γ, x X x Y Γ X Y Γ t Y (x / FV(Γ)) reduces to. D D 2. D 1 Γ t Y Type systems and deduction in the rewriting calculus A generalization of natural deduction - 44

98 Cut elimination A new notion of cut appears for each defined predicate:. D 1 ( E). D 2 Γ t X ( I) Γ, x X x Y Γ X Y Γ t Y (x / FV(Γ)) reduces to. D D 2. D 1 Γ t Y Theorem: Cut elimination holds whenever it holds in the corresponding NDM system Type systems and deduction in the rewriting calculus A generalization of natural deduction - 44

99 Proof terms Definition of proof terms for Generalized Natural Deduction Add ad-hoc constructions in the language Use the λ-abstraction and store multiple assumptions and witnesses in patterns Type systems and deduction in the rewriting calculus A generalization of natural deduction - 45

100 Proof terms Definition of proof terms for Generalized Natural Deduction Add ad-hoc constructions in the language Use the λ-abstraction and store multiple assumptions and witnesses in patterns ( I) Γ, α : x X π : x Y Γ λ( x α).π : X Y ( E) Γ π : X Y Γ π : t X Γ π ( t π ) : t Y Type systems and deduction in the rewriting calculus A generalization of natural deduction - 45

101 Proof terms Definition of proof terms for Generalized Natural Deduction Add ad-hoc constructions in the language Use the λ-abstraction and store multiple assumptions and witnesses in patterns ( I) Γ, α : x X π : x Y Γ λ( x α).π : X Y ( E) Γ π : X Y Γ π : t X Γ π ( t π ) : t Y The reduction ( λ( x α).π ) ( t π ) π[x := t, α := π ] models cut elimination Type systems and deduction in the rewriting calculus A generalization of natural deduction - 45

102 Proof terms Definition of proof terms for Generalized Natural Deduction Add ad-hoc constructions in the language Use the λ-abstraction and store multiple assumptions and witnesses in patterns ( I) Γ, α : x X π : x Y Γ λ( x α).π : X Y ( E) Γ π : X Y Γ π : t X Γ π ( t π ) : t Y The reduction ( λ( x α).π ) ( t π ) π[x := t, α := π ] models cut elimination A collection of new type systems for the ρ-calculus, to be studied Type systems and deduction in the rewriting calculus A generalization of natural deduction - 45

103 Contributions Types for programming Properties and applications of these systems Type inference P 2 T S Detailed study of the usual properties Strong normalization in ρ and ρp Rewriting calculus and deduction Rich proof terms for deduction modulo A new way of embedding domain-specific information in the logic Type systems and deduction in the rewriting calculus Conclusions - 46

104 Perspectives Types Strong normalization in the remaining of the ρ-cube Conjunction types for structures Generalized Natural Deduction seen as a collection of type systems Type systems and deduction in the rewriting calculus Conclusions - 47

105 Perspectives Types Strong normalization in the remaining of the ρ-cube Conjunction types for structures Generalized Natural Deduction seen as a collection of type systems Generalized Natural Deduction Further decomposition of the propositions in the generation of new rules Tests on broader classes of rewrite rules Type systems and deduction in the rewriting calculus Conclusions - 47

106 Perspectives Types Strong normalization in the remaining of the ρ-cube Conjunction types for structures Generalized Natural Deduction seen as a collection of type systems Generalized Natural Deduction Further decomposition of the propositions in the generation of new rules Tests on broader classes of rewrite rules Implementation of proof assistants based on Natural Deduction Modulo, using ρ-proof terms based on Generalized Natural Deduction Type systems and deduction in the rewriting calculus Conclusions - 47

107 Thanks for your attention

108 Deduction modulo Let R be a rewriting system which rewrites: terms to terms (e.g. 0 + x x) atomic propositions to propositions (e.g. x y = 0 x = 0 y = 0) Type systems and deduction in the rewriting calculus Additional material - 49

109 Deduction modulo Let R be a rewriting system which rewrites: terms to terms (e.g. 0 + x x) atomic propositions to propositions (e.g. x y = 0 x = 0 y = 0) Let = be the congruence closure of R Type systems and deduction in the rewriting calculus Additional material - 49

110 Deduction modulo Let R be a rewriting system which rewrites: terms to terms (e.g. 0 + x x) atomic propositions to propositions (e.g. x y = 0 x = 0 y = 0) Let = be the congruence closure of R Every deduction rule is considered modulo = : Γ = ϑ Γ = φ ( E) Γ = ψ ϑ = φ ψ Type systems and deduction in the rewriting calculus Additional material - 49

111 Deduction modulo Let R be a rewriting system which rewrites: terms to terms (e.g. 0 + x x) atomic propositions to propositions (e.g. x y = 0 x = 0 y = 0) Let = be the congruence closure of R Every deduction rule is considered modulo = : Γ = ϑ Γ = φ ( E) Γ = ψ ϑ = φ ψ A large part of the theory can (or should) be represented in R Type systems and deduction in the rewriting calculus Additional material - 49

112 (Non-)Confluence of the ρ-calculus Active variables are troublesome (λx y.y) ((λa.a b) a) ρ out ρ in a (λx y.y) (a b) b ρ This kind of pattern (as well as abstractions) should be treated with higher-order matching Type systems and deduction in the rewriting calculus Additional material - 50

113 (Non-)Confluence of the ρ-calculus part II Non-linear patterns do not mix well with non-termination [Klop 80] C such that C ρδ A such that A ρδ λy.(λ(d x x).e) (d y (C y)) C A A Type systems and deduction in the rewriting calculus Additional material - 51

114 (Non-)Confluence of the ρ-calculus part II Non-linear patterns do not mix well with non-termination [Klop 80] C such that C ρδ A such that A ρδ λy.(λ(d x x).e) (d y (C y)) C A A C A Type systems and deduction in the rewriting calculus Additional material - 51

115 (Non-)Confluence of the ρ-calculus part II Non-linear patterns do not mix well with non-termination [Klop 80] C such that C ρδ A such that A ρδ λy.(λ(d x x).e) (d y (C y)) C A A C A (λ(d z z).e) (d A (C A)) Type systems and deduction in the rewriting calculus Additional material - 51

116 (Non-)Confluence of the ρ-calculus part II Non-linear patterns do not mix well with non-termination [Klop 80] C such that C ρδ A such that A ρδ λy.(λ(d x x).e) (d y (C y)) C A A C A (λ(d z z).e) (d A (C A)) (λ(d z z).e) (d (C A) (C A)) Type systems and deduction in the rewriting calculus Additional material - 51

117 (Non-)Confluence of the ρ-calculus part II Non-linear patterns do not mix well with non-termination [Klop 80] C such that C ρδ A such that A ρδ λy.(λ(d x x).e) (d y (C y)) C A A C A (λ(d z z).e) (d A (C A)) (λ(d z z).e) (d (C A) (C A)) e Type systems and deduction in the rewriting calculus Additional material - 51

118 (Non-)Confluence of the ρ-calculus part II Non-linear patterns do not mix well with non-termination [Klop 80] C such that C ρδ A such that A ρδ λy.(λ(d x x).e) (d y (C y)) C A A C A (λ(d z z).e) (d A (C A)) C e (λ(d z z).e) (d (C A) (C A)) e Type systems and deduction in the rewriting calculus Additional material - 51

119 Expressiveness 1. Embedding the λ into the ρ. ϕ : λ ρ (a) ϕ(x) = x (b) ϕ(λx.m) = λx.ϕ(m) (c) ϕ(m N) = ϕ(m) ϕ(n) Theorem: If M β N, then ϕ(m) ρ ϕ(n) Type systems and deduction in the rewriting calculus Additional material - 52

120 Expressiveness 1. Embedding the λ into the ρ. ϕ : λ ρ (a) ϕ(x) = x (b) ϕ(λx.m) = λx.ϕ(m) (c) ϕ(m N) = ϕ(m) ϕ(n) Theorem: If M β N, then ϕ(m) ρ ϕ(n) 2. Encoding Rewriting (a) A rewrite system R can be represented as a structure containing all the rules (b) Reduction paths can be encoded If t 1 R t 2, then A such that A t 1 ρδ t 2 Type systems and deduction in the rewriting calculus Additional material - 52

121 Normalization failure f : (α α) α and Γ = x : α α, ω = λf x.x (f x) Γ Σ f : (α α) α Γ Σ f x : α Γ Σ x : α α Γ Σ x : α α Σ ω λf x.x (f x) : α α Γ Σ x (f x) : α. Γ Σ f x : α Σ ω (f ω) : α Type systems and deduction in the rewriting calculus Additional material - 53

122 The relation and first f P λq.b f P g B if f g i, P i B i P (λq.a) B if Q B P A first(a 1, A 2,..., A n ) = X ((stk A n X I) (... (stk A 2 X I) (A 1 X))) first(a 1, A 2,..., A n ) B ρσδ first(a 2,..., A n ) B if Type systems and deduction in the rewriting calculus Additional material - 54

123 Encoding of TRSs R = λrec z. first λrec z. first λl 1. z (rec z) r 1,, λa 1 x. z (rec z) a 1 (z (rec z) x), λl 1. z (rec z) r 1,, λy.y Type systems and deduction in the rewriting calculus Additional material - 55

124 Positiveness In CIC, the constructor F : (x 1 : A 1 )... (x n : A n ).R is accepted only if R is positive in each A i : 1. R is positive in T if R does not occur in T 2. R is positive in (R t) if R does not occur in t 3. R is positive in (x : A)C if R does not occur in A and R is positive in C Type systems and deduction in the rewriting calculus Additional material - 56

125 Encoding the P 2 T S into λ-calculus x = x f = λx 1... λx αf. (λz.(z x 1... x αf )) f B 1... B αf = λz.(z B 1... B αf ) Type systems and deduction in the rewriting calculus Additional material - 57

126 Encoding the P 2 T S into λ-calculus x = x f = λx 1... λx αf. (λz.(z x 1... x αf )) f B 1... B αf = λz.(z B 1... B αf ) λ(f P 1... P p ).A = λu.(u x... x λp 1... λp p.λx p+1... λx α f.a ) Type systems and deduction in the rewriting calculus Additional material - 57

127 Encoding the P 2 T S into λ-calculus x = x f = λx 1... λx αf. (λz.(z x 1... x αf )) f B 1... B αf = λz.(z B 1... B αf ) λ(f P 1... P p ).A = λu.(u x... x λp 1... λp p.λx p+1... λx α f.a ) λx.a = A B = λx. A A B Type systems and deduction in the rewriting calculus Additional material - 57

128 Encoding the P 2 T S into λ-calculus x = x f = λx 1... λx αf. (λz.(z x 1... x αf )) f B 1... B αf = λz.(z B 1... B αf ) λ(f P 1... P p ).A = λu.(u x... x λp 1... λp p.λx p+1... λx α f.a ) λx.a = λx. A A B = A B A B = λx 1... λx α. ( (λz.( A x1... x α ) ) ( B x 1... x α )) Type systems and deduction in the rewriting calculus Additional material - 57

129 An example of translated term λy.(λ(f x).x) y {}}{ ( λ(f x).x {}}{ ) (λy. (λu.(u(λx.x))) y ) ( f {}}{ (λx 1.λz.(zx 1 )) a {}}{ ) (λv.v) Type systems and deduction in the rewriting calculus Additional material - 58

130 An example of translated term β λy.(λ(f x).x) y {}}{ λ(f x).x {}}{ ( ) (λy. (λu.(u(λx.x))) y ) ( ) ( λy.(y(λx.x)) (λx 1.λz.(zx 1 ))(λv.v) ( f {}}{ (λx 1.λz.(zx 1 )) ) a {}}{ ) (λv.v) Type systems and deduction in the rewriting calculus Additional material - 58

131 An example of translated term β λy.(λ(f x).x) y {}}{ λ(f x).x {}}{ ( ) (λy. (λu.(u(λx.x))) y ) ( ) ( λy.(y(λx.x)) (λx 1.λz.(zx 1 ))(λv.v) β ( λy.(y(λx.x)) )( λz.(z(λv.v)) ) ( f {}}{ (λx 1.λz.(zx 1 )) ) a {}}{ ) (λv.v) Type systems and deduction in the rewriting calculus Additional material - 58

132 An example of translated term β λy.(λ(f x).x) y {}}{ λ(f x).x {}}{ ( ) (λy. (λu.(u(λx.x))) y ) ( ) ( λy.(y(λx.x)) (λx 1.λz.(zx 1 ))(λv.v) ( )( ) β λy.(y(λx.x)) λz.(z(λv.v)) ( ) β λz.(z(λv.v)) (λx.x) ( f {}}{ (λx 1.λz.(zx 1 )) ) a {}}{ ) (λv.v) Type systems and deduction in the rewriting calculus Additional material - 58

133 An example of translated term β λy.(λ(f x).x) y {}}{ λ(f x).x {}}{ ( ) (λy. (λu.(u(λx.x))) y ) ( ) ( λy.(y(λx.x)) (λx 1.λz.(zx 1 ))(λv.v) ( )( ) β λy.(y(λx.x)) λz.(z(λv.v)) ( ) β λz.(z(λv.v)) (λx.x) β (λx.x)(λv.v) ( f {}}{ (λx 1.λz.(zx 1 )) ) a {}}{ ) (λv.v) Type systems and deduction in the rewriting calculus Additional material - 58

134 An example of translated term β λy.(λ(f x).x) y {}}{ λ(f x).x {}}{ ( ) (λy. (λu.(u(λx.x))) y ) ( ) ( λy.(y(λx.x)) (λx 1.λz.(zx 1 ))(λv.v) ( )( ) β λy.(y(λx.x)) λz.(z(λv.v)) ( ) β λz.(z(λv.v)) (λx.x) β β = a (λx.x)(λv.v) (λv.v) ( f {}}{ (λx 1.λz.(zx 1 )) ) a {}}{ ) (λv.v) Type systems and deduction in the rewriting calculus Additional material - 58

135 The type of a translated constant Supposing Σ f : Πx:ι.ι λω f = λx 1.λz.(z x 1 ) : λω f B : σ (σ β) β (σ β) β Type systems and deduction in the rewriting calculus Additional material - 59

136 Enhanced translation σ1,..., σ α = Π(β : ). ( (σ1... σ α β) β ) f = λf x.a = λx 1.λ(β : ) (λz.(z x 1 )) : σ σ λu. ( u τ λx. A ) : ( σ) τ where Γ λω A : τ x : = Π(β : ).β Type systems and deduction in the rewriting calculus Additional material - 60

137 Use of types depending on types Σ x : Πy:ι. ι β x :, β y : λω x : β y β x β y λy.y β x := λβ :.β λy.a β x := λβ :. f β x := λβ :. β Type systems and deduction in the rewriting calculus Additional material - 61

138 Disjunctive connectors When dealing with and, some part of the definition can not be decomposed properly Type systems and deduction in the rewriting calculus Additional material - 62

139 Disjunctive connectors When dealing with and, some part of the definition can not be decomposed properly With P (Q R) S the new rules are: (P I l ) Γ Q Γ R Γ P (P I r ) Γ S Γ P (P E) Γ P Γ, Q R U Γ, S U Γ U Type systems and deduction in the rewriting calculus Additional material - 62

140 Disjunctive connectors When dealing with and, some part of the definition can not be decomposed properly With P (Q R) S the new rules are: (P I l ) Γ Q Γ R Γ P (P I r ) Γ S Γ P (P E) Γ P Γ, Q R U Γ, S U Γ U The discrepancy between (P I l ) and the second assumption of (P E) may ruin cut elimination, and suggests further decomposition: (P E) Γ P Γ, Q, R U Γ, S U Γ U Type systems and deduction in the rewriting calculus Additional material - 62

141 Conservativity (K E) (P I) (Ax). def H 1... def H n def P. (P E) (K I) P, Γ P... P, Γ γ. P def Type systems and deduction in the rewriting calculus Additional material - 63

142 About unsound rules It is well-known that the rewrite rule R R gives an unsound deduction modulo Its associated introduction and elimination rules are (R I) Γ, R Γ R (R E) Γ R Γ R Γ Type systems and deduction in the rewriting calculus Additional material - 64

143 About unsound rules It is well-known that the rewrite rule R R gives an unsound deduction modulo Its associated introduction and elimination rules are (R I) Γ, R Γ R (R E) Γ R Γ R Γ and the (shortest) proof of has the proof term ( λr(α).α R(α) ) R ( λr(α).α R(α) ) Type systems and deduction in the rewriting calculus Additional material - 64

144 Curiosities Proof terms with patterns for the usual connectives Γ π : φ Γ ( I) π : ψ Γ (π, π ) : φ ψ ( E l ) Γ π : φ ψ Γ (λ (x, y).x)π : φ Type systems and deduction in the rewriting calculus Additional material - 65

145 Curiosities Proof terms with patterns for the usual connectives Γ π : φ Γ ( I) π : ψ Γ (π, π ) : φ ψ ( E l ) Γ π : φ ψ Γ (λ (x, y).x)π : φ The NDM formalization of higher-order logic gives the rules for higher-order quantifiers Predicates defined by induction give some natural rules (N E) Γ n N Γ 0 P Γ, m P S(m) P Γ n P Type systems and deduction in the rewriting calculus Additional material - 65

The Curry-Howard Isomorphism

The Curry-Howard Isomorphism The Curry-Howard Isomorphism Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) The Curry-Howard Isomorphism MFES 2008/09

More information

The Calculus of Inductive Constructions

The Calculus of Inductive Constructions The Calculus of Inductive Constructions Hugo Herbelin 10th Oregon Programming Languages Summer School Eugene, Oregon, June 16-July 1, 2011 1 Outline - A bit of history, leading to the Calculus of Inductive

More information

PROOF NORMALIZATION MODULO

PROOF NORMALIZATION MODULO PROOF NORMALIZATION MODULO GILLES DOWEK AND BENJAMIN WERNER Abstract. We define a generic notion of cut that applies to many first-order theories. We prove a generic cut elimination theorem showing that

More information

Introduction to Type Theory February 2008 Alpha Lernet Summer School Piriapolis, Uruguay. Herman Geuvers Nijmegen & Eindhoven, NL

Introduction to Type Theory February 2008 Alpha Lernet Summer School Piriapolis, Uruguay. Herman Geuvers Nijmegen & Eindhoven, NL Introduction to Type Theory February 2008 Alpha Lernet Summer School Piriapolis, Uruguay Herman Geuvers Nijmegen & Eindhoven, NL Lecture 5: Higher Order Logic and the Calculus of Constructions 1 Church

More information

Categories, Proofs and Programs

Categories, Proofs and Programs Categories, Proofs and Programs Samson Abramsky and Nikos Tzevelekos Lecture 4: Curry-Howard Correspondence and Cartesian Closed Categories In A Nutshell Logic Computation 555555555555555555 5 Categories

More information

Beyond First-Order Logic

Beyond First-Order Logic Beyond First-Order Logic Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) Beyond First-Order Logic MFES 2008/09 1 / 37 FOL

More information

A simple proof that super-consistency implies cut elimination

A simple proof that super-consistency implies cut elimination A simple proof that super-consistency implies cut elimination Gilles Dowek 1 and Olivier Hermant 2 1 École polytechnique and INRIA, LIX, École polytechnique, 91128 Palaiseau Cedex, France gilles.dowek@polytechnique.edu

More information

Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky. Radboud University Nijmegen. March 5, 2012

Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky. Radboud University Nijmegen. March 5, 2012 1 λ Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky Radboud University Nijmegen March 5, 2012 2 reading Femke van Raamsdonk Logical Verification Course Notes Herman Geuvers Introduction to

More information

Truth values algebras and proof normalization

Truth values algebras and proof normalization Truth values algebras and proof normalization Gilles Dowek École polytechnique and INRIA, LIX, École polytechnique, 91128 Palaiseau Cedex, France http://lix.polytechnique.fr/ dowek/ Gilles.Dowek@polytechnique.edu

More information

From pre-models to models

From pre-models to models From pre-models to models normalization by Heyting algebras Olivier HERMANT 18 Mars 2008 Deduction System : natural deduction (NJ) first-order logic: function and predicate symbols, logical connectors:,,,,

More information

Translating Combinatory Reduction Systems into the Rewriting Calculus

Translating Combinatory Reduction Systems into the Rewriting Calculus Electronic Notes in Theoretical Computer Science 86 No. 2 (2003) URL: http://www.elsevier.nl/locate/entcs/volume86.html 17 pages Translating Combinatory Reduction Systems into the Rewriting Calculus Clara

More information

Type Theory and Constructive Mathematics. Type Theory and Constructive Mathematics Thierry Coquand. University of Gothenburg

Type Theory and Constructive Mathematics. Type Theory and Constructive Mathematics Thierry Coquand. University of Gothenburg Type Theory and Constructive Mathematics Type Theory and Constructive Mathematics Thierry Coquand University of Gothenburg Content An introduction to Voevodsky s Univalent Foundations of Mathematics The

More information

The Rewriting Calculus as a Combinatory Reduction System

The Rewriting Calculus as a Combinatory Reduction System The Rewriting Calculus as a Combinatory Reduction System Clara Bertolissi 1, Claude Kirchner 2 1 LIF-CMI, Université de Provence, Marseille, France 2 INRIA & LORIA, Nancy, France first.last@loria.fr, clara.bertolissi@lif.univ-mrs.fr

More information

Conservativity of Embeddings in the λπ Calculus Modulo Rewriting

Conservativity of Embeddings in the λπ Calculus Modulo Rewriting Conservativity of Embeddings in the λπ Calculus Modulo Rewriting Ali Assaf 1,2 1 Inria, Paris, France 2 École polytechnique, Palaiseau, France Abstract The λπ calculus can be extended with rewrite rules

More information

From Operational Semantics to Abstract Machines

From Operational Semantics to Abstract Machines From Operational Semantics to Abstract Machines John Hannan Department of Computer Science, University of Copenhagen, Universitetsparken 1, DK-2100 Copenhagen East, Denmark. hannan@diku.dk Dale Miller

More information

A Rewrite System for Strongly Normalizable Terms

A Rewrite System for Strongly Normalizable Terms A Rewrite System for Strongly Normalizable Terms IRIF Seminar Olivier Hermant & Ronan Saillard CRI, MINES ParisTech, PSL University June 28, 2018 O. Hermant (MINES ParisTech) Intersection Types in DMT

More information

Kleene realizability and negative translations

Kleene realizability and negative translations Q E I U G I C Kleene realizability and negative translations Alexandre Miquel O P. D E. L Ō A U D E L A R April 21th, IMERL Plan 1 Kleene realizability 2 Gödel-Gentzen negative translation 3 Lafont-Reus-Streicher

More information

Introduction to dependent type theory. CIRM, May 30

Introduction to dependent type theory. CIRM, May 30 CIRM, May 30 Goals of this presentation Some history and motivations Notations used in type theory Main goal: the statement of main properties of equality type and the univalence axiom First talk P ropositions

More information

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 17 Tuesday, April 2, 2013 1 There is a strong connection between types in programming languages and propositions

More information

λ Slide 1 Content Exercises from last time λ-calculus COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification

λ Slide 1 Content Exercises from last time λ-calculus COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification Content COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification Toby Murray, June Andronick, Gerwin Klein λ Slide 1 Intro & motivation, getting started [1] Foundations & Principles Lambda

More information

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw Applied Logic Lecture 1 - Propositional logic Marcin Szczuka Institute of Informatics, The University of Warsaw Monographic lecture, Spring semester 2017/2018 Marcin Szczuka (MIMUW) Applied Logic 2018

More information

Lambda Calculus. Week 12 The canonical term models for λ. Henk Barendregt, Freek Wiedijk assisted by Andrew Polonsky

Lambda Calculus. Week 12 The canonical term models for λ. Henk Barendregt, Freek Wiedijk assisted by Andrew Polonsky Lambda Calculus Week 12 The canonical term models for λ Henk Barendregt, Freek Wiedijk assisted by Andrew Polonsky Two version of λ Curry version (type assignment). Λ Γ (A) {M Λ Γ M : A} with (axiom) Γ

More information

Investigation of Prawitz s completeness conjecture in phase semantic framework

Investigation of Prawitz s completeness conjecture in phase semantic framework Investigation of Prawitz s completeness conjecture in phase semantic framework Ryo Takemura Nihon University, Japan. takemura.ryo@nihon-u.ac.jp Abstract In contrast to the usual Tarskian set-theoretic

More information

On Lists and Other Abstract Data Types in the Calculus of Constructions

On Lists and Other Abstract Data Types in the Calculus of Constructions On Lists and Other Abstract Data Types in the Calculus of Constructions Jonathan P. Seldin Department of Mathematics Concordia University Montreal, Quebec, Canada seldin@alcor.concordia.ca January 29,

More information

Models of computation

Models of computation Lambda-Calculus (I) jean-jacques.levy@inria.fr 2nd Asian-Pacific Summer School on Formal ethods Tsinghua University, August 23, 2010 Plan computation models lambda-notation bound variables odels of computation

More information

CS 4110 Programming Languages & Logics. Lecture 16 Programming in the λ-calculus

CS 4110 Programming Languages & Logics. Lecture 16 Programming in the λ-calculus CS 4110 Programming Languages & Logics Lecture 16 Programming in the λ-calculus 30 September 2016 Review: Church Booleans 2 We can encode TRUE, FALSE, and IF, as: TRUE λx. λy. x FALSE λx. λy. y IF λb.

More information

Completeness Theorems and λ-calculus

Completeness Theorems and λ-calculus Thierry Coquand Apr. 23, 2005 Content of the talk We explain how to discover some variants of Hindley s completeness theorem (1983) via analysing proof theory of impredicative systems We present some remarks

More information

Lambda-Calculus (I) 2nd Asian-Pacific Summer School on Formal Methods Tsinghua University, August 23, 2010

Lambda-Calculus (I) 2nd Asian-Pacific Summer School on Formal Methods Tsinghua University, August 23, 2010 Lambda-Calculus (I) jean-jacques.levy@inria.fr 2nd Asian-Pacific Summer School on Formal Methods Tsinghua University, August 23, 2010 Plan computation models lambda-notation bound variables conversion

More information

On a computational interpretation of sequent calculus for modal logic S4

On a computational interpretation of sequent calculus for modal logic S4 On a computational interpretation of sequent calculus for modal logic S4 Yosuke Fukuda Graduate School of Informatics, Kyoto University Second Workshop on Mathematical Logic and Its Applications March

More information

First-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig

First-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig First-Order Logic First-Order Theories Roopsha Samanta Partly based on slides by Aaron Bradley and Isil Dillig Roadmap Review: propositional logic Syntax and semantics of first-order logic (FOL) Semantic

More information

Sequent Combinators: A Hilbert System for the Lambda Calculus

Sequent Combinators: A Hilbert System for the Lambda Calculus Sequent Combinators: A Hilbert System for the Lambda Calculus Healfdene Goguen Department of Computer Science, University of Edinburgh The King s Buildings, Edinburgh, EH9 3JZ, United Kingdom Fax: (+44)

More information

07 Equational Logic and Algebraic Reasoning

07 Equational Logic and Algebraic Reasoning CAS 701 Fall 2004 07 Equational Logic and Algebraic Reasoning Instructor: W. M. Farmer Revised: 17 November 2004 1 What is Equational Logic? Equational logic is first-order logic restricted to languages

More information

The Greek Alphabet. (a) The Untyped λ-calculus

The Greek Alphabet. (a) The Untyped λ-calculus 3. The λ-calculus and Implication Greek Letters (a) The untyped λ-calculus. (b) The typed λ-calculus. (c) The λ-calculus in Agda. (d) Logic with Implication (e) Implicational Logic in Agda. (f) More on

More information

Modularity of Confluence: A Simplified Proof

Modularity of Confluence: A Simplified Proof 1 Modularity of Confluence: A Simplified Proof Jan Willem Klop 1,2,5,6 Aart Middeldorp 3,5 Yoshihito Toyama 4,7 Roel de Vrijer 2 1 Department of Software Technology CWI, Kruislaan 413, 1098 SJ Amsterdam

More information

Non deterministic classical logic: the λµ ++ -calculus

Non deterministic classical logic: the λµ ++ -calculus Paru dans : Mathematical Logic Quarterly, 48, pp. 357-366, 2002 Non deterministic classical logic: the λµ ++ -calculus Karim NOUR LAMA - Equipe de Logique, Université de Savoie 73376 Le Bourget du Lac

More information

NICTA Advanced Course. Theorem Proving Principles, Techniques, Applications

NICTA Advanced Course. Theorem Proving Principles, Techniques, Applications NICTA Advanced Course Theorem Proving Principles, Techniques, Applications λ 1 CONTENT Intro & motivation, getting started with Isabelle Foundations & Principles Lambda Calculus Higher Order Logic, natural

More information

Classical Combinatory Logic

Classical Combinatory Logic Computational Logic and Applications, CLA 05 DMTCS proc. AF, 2006, 87 96 Classical Combinatory Logic Karim Nour 1 1 LAMA - Equipe de logique, Université de Savoie, F-73376 Le Bourget du Lac, France Combinatory

More information

Decidable structures between Church-style and Curry-style

Decidable structures between Church-style and Curry-style Decidable structures between Church-style and Curry-style Ken-etsu Fujita 1 and Aleksy Schubert 2 1 Gunma University Tenjin-cho 1-5-1, Kiryu 376-8515, Japan fujita@cs.gunma-u.ac.jp 2 The University of

More information

COMP6463: λ-calculus

COMP6463: λ-calculus COMP6463: λ-calculus 1. Basics Michael Norrish Michael.Norrish@nicta.com.au Canberra Research Lab., NICTA Semester 2, 2015 Outline Introduction Lambda Calculus Terms Alpha Equivalence Substitution Dynamics

More information

3.2 Reduction 29. Truth. The constructor just forms the unit element,. Since there is no destructor, there is no reduction rule.

3.2 Reduction 29. Truth. The constructor just forms the unit element,. Since there is no destructor, there is no reduction rule. 32 Reduction 29 32 Reduction In the preceding section, we have introduced the assignment of proof terms to natural deductions If proofs are programs then we need to explain how proofs are to be executed,

More information

Motivation. CS389L: Automated Logical Reasoning. Lecture 10: Overview of First-Order Theories. Signature and Axioms of First-Order Theory

Motivation. CS389L: Automated Logical Reasoning. Lecture 10: Overview of First-Order Theories. Signature and Axioms of First-Order Theory Motivation CS389L: Automated Logical Reasoning Lecture 10: Overview of First-Order Theories Işıl Dillig Last few lectures: Full first-order logic In FOL, functions/predicates are uninterpreted (i.e., structure

More information

Γ is usually left implicit: ϕ

Γ is usually left implicit: ϕ Types Summer School Gothenburg Sweden August 2005 Type Systems Herman Geuvers Radboud University Nijmegen, NL Lecture 2: Higher Order Logic and Type Theory The original motivation of Church to introduce

More information

Subtyping and Intersection Types Revisited

Subtyping and Intersection Types Revisited Subtyping and Intersection Types Revisited Frank Pfenning Carnegie Mellon University International Conference on Functional Programming (ICFP 07) Freiburg, Germany, October 1-3, 2007 Joint work with Rowan

More information

185.A09 Advanced Mathematical Logic

185.A09 Advanced Mathematical Logic 185.A09 Advanced Mathematical Logic www.volny.cz/behounek/logic/teaching/mathlog13 Libor Běhounek, behounek@cs.cas.cz Lecture #1, October 15, 2013 Organizational matters Study materials will be posted

More information

hal , version 1-21 Oct 2009

hal , version 1-21 Oct 2009 ON SKOLEMISING ZERMELO S SET THEORY ALEXANDRE MIQUEL Abstract. We give a Skolemised presentation of Zermelo s set theory (with notations for comprehension, powerset, etc.) and show that this presentation

More information

The Lambda-Calculus Reduction System

The Lambda-Calculus Reduction System 2 The Lambda-Calculus Reduction System 2.1 Reduction Systems In this section we present basic notions on reduction systems. For a more detailed study see [Klop, 1992, Dershowitz and Jouannaud, 1990]. Definition

More information

Introduction to Type Theory

Introduction to Type Theory Introduction to Type Theory Herman Geuvers Radboud University Nijmegen & Technical University Eindhoven, The Netherlands July 8, 2008 1 Overview These notes comprise the lecture Introduction to Type Theory

More information

Uniform Schemata for Proof Rules

Uniform Schemata for Proof Rules Uniform Schemata for Proof Rules Ulrich Berger and Tie Hou Department of omputer Science, Swansea University, UK {u.berger,cshou}@swansea.ac.uk Abstract. Motivated by the desire to facilitate the implementation

More information

Logical Preliminaries

Logical Preliminaries Logical Preliminaries Johannes C. Flieger Scheme UK March 2003 Abstract Survey of intuitionistic and classical propositional logic; introduction to the computational interpretation of intuitionistic logic

More information

Propositional and Predicate Logic - XIII

Propositional and Predicate Logic - XIII Propositional and Predicate Logic - XIII Petr Gregor KTIML MFF UK WS 2016/2017 Petr Gregor (KTIML MFF UK) Propositional and Predicate Logic - XIII WS 2016/2017 1 / 22 Undecidability Introduction Recursive

More information

HORSes: format, termination and confluence

HORSes: format, termination and confluence HORSes: format, termination and confluence Jean-Pierre Jouannaud INRIA-LIAMA and singhua Software Chair Joint on-going work with Jianqi Li School of Software, singhua University Project CoqLF NList Cross-discipline

More information

Chapter 2. Assertions. An Introduction to Separation Logic c 2011 John C. Reynolds February 3, 2011

Chapter 2. Assertions. An Introduction to Separation Logic c 2011 John C. Reynolds February 3, 2011 Chapter 2 An Introduction to Separation Logic c 2011 John C. Reynolds February 3, 2011 Assertions In this chapter, we give a more detailed exposition of the assertions of separation logic: their meaning,

More information

Alonzo Church ( ) Lambda Calculus. λ-calculus : syntax. Grammar for terms : Inductive denition for λ-terms

Alonzo Church ( ) Lambda Calculus. λ-calculus : syntax. Grammar for terms : Inductive denition for λ-terms Alonzo Church (1903-1995) Lambda Calculus 2 λ-calculus : syntax Grammar for terms : t, u ::= x (variable) t u (application) λx.t (abstraction) Notation : Application is left-associative so that t 1 t 2...

More information

The Girard-Reynolds Isomorphism. Philip Wadler, University of Edinburgh

The Girard-Reynolds Isomorphism. Philip Wadler, University of Edinburgh The Girard-Reynolds Isomorphism Philip Wadler, University of Edinburgh wadler@inf.ed.ac.uk Coincidences Curry-Howard Hindley-Milner Girard-Reynolds John Reynolds (1974) Jean-Yves Girard (1972) John Reynolds

More information

CSCI 490 problem set 6

CSCI 490 problem set 6 CSCI 490 problem set 6 Due Tuesday, March 1 Revision 1: compiled Tuesday 23 rd February, 2016 at 21:21 Rubric For full credit, your solutions should demonstrate a proficient understanding of the following

More information

Program Testing and Constructive Validity

Program Testing and Constructive Validity Program Testing and Constructive Validity Peter Dybjer Chalmers University of Technology, Göteborg, Sweden Philosophy and Foundations of Mathematics: Epistemological and Ontological Aspects - to Per Martin-Löf

More information

Advanced Lambda Calculus. Henk Barendregt & Giulio Manzonetto ICIS Faculty of Science Radboud University Nijmegen, The Netherlands

Advanced Lambda Calculus. Henk Barendregt & Giulio Manzonetto ICIS Faculty of Science Radboud University Nijmegen, The Netherlands Advanced Lambda Calculus Henk Barendregt & Giulio Manzonetto ICIS Faculty of Science Radboud University Nijmegen, The Netherlands Form of the course Ordinary lecture Seminar form Exam: working out an exercise

More information

Intersection Synchronous Logic

Intersection Synchronous Logic UnB 2007 p. 1/2 Intersection Synchronous Logic Elaine Gouvêa Pimentel Simona Ronchi della Rocca Luca Roversi UFMG/UNITO, 2007 UnB 2007 p. 2/2 Outline Motivation UnB 2007 p. 2/2 Outline Motivation Intuitionistic

More information

Non-Idempotent Typing Operators, beyond the λ-calculus

Non-Idempotent Typing Operators, beyond the λ-calculus Non-Idempotent Typing Operators, beyond the λ-calculus Soutenance de thèse Pierre VIAL IRIF (Univ. Paris Diderot and CNRS) December 7, 2017 Non-idempotent typing operators P. Vial 0 1 /46 Certification

More information

03 Review of First-Order Logic

03 Review of First-Order Logic CAS 734 Winter 2014 03 Review of First-Order Logic William M. Farmer Department of Computing and Software McMaster University 18 January 2014 What is First-Order Logic? First-order logic is the study of

More information

LF P A Logical Framework with External Predicates

LF P A Logical Framework with External Predicates LF P A Logical Framework with External Predicates Petar Maksimović in collaboration with Furio Honsell, Marina Lenisa, Luigi Liquori, and Ivan Scagnetto Mathematical Institute of the Serbian Academy of

More information

λ-calculus and types

λ-calculus and types λ-calculus and types Lecture notes Midland Graduate School / APPSEM Spring School 2004 Thorsten Altenkirch School of Computer Science and Information Technology, Nottingham University txa@cs.nott.ac.uk

More information

Safety Analysis versus Type Inference

Safety Analysis versus Type Inference Information and Computation, 118(1):128 141, 1995. Safety Analysis versus Type Inference Jens Palsberg palsberg@daimi.aau.dk Michael I. Schwartzbach mis@daimi.aau.dk Computer Science Department, Aarhus

More information

Introduction to λ-calculus

Introduction to λ-calculus p.1/65 Introduction to λ-calculus Ken-etsu FUJITA fujita@cs.gunma-u.ac.jp http://www.comp.cs.gunma-u.ac.jp/ fujita/ Department of Computer Science Gunma University :Church 32, 36, 40; Curry 34 1. Universal

More information

Simply Typed λ-calculus

Simply Typed λ-calculus Simply Typed λ-calculus Lecture 1 Jeremy Dawson The Australian National University Semester 2, 2017 Jeremy Dawson (ANU) COMP4630,Lecture 1 Semester 2, 2017 1 / 23 A Brief History of Type Theory First developed

More information

Normalization by Evaluation

Normalization by Evaluation Normalization by Evaluation Andreas Abel Department of Computer Science and Engineering Chalmers and Gothenburg University PhD Seminar in Mathematical Engineering EAFIT University, Medellin, Colombia 9

More information

Nominal Completion for Rewrite Systems with Binders

Nominal Completion for Rewrite Systems with Binders Nominal Completion for Rewrite Systems with Binders Maribel Fernández King s College London July 2012 Joint work with Albert Rubio Summary Motivations Nominal Rewriting Closed nominal rules Confluence

More information

Observability for Pair Pattern Calculi

Observability for Pair Pattern Calculi Observability for Pair Pattern Calculi Antonio Bucciarelli 1, Delia Kesner 2, and Simona Ronchi Della Rocca 3 1,2 Univ Paris Diderot, Sorbonne Paris Cité, PPS, UMR 7126, CNRS, Paris, France 3 Dipartimento

More information

Propositional and Predicate Logic. jean/gbooks/logic.html

Propositional and Predicate Logic.   jean/gbooks/logic.html CMSC 630 February 10, 2009 1 Propositional and Predicate Logic Sources J. Gallier. Logic for Computer Science, John Wiley and Sons, Hoboken NJ, 1986. 2003 revised edition available on line at http://www.cis.upenn.edu/

More information

An introduction to classical realizability

An introduction to classical realizability Q E I U G I C An introduction to classical realizability Alexandre Miquel O P. D E. L Ō A U D E L A R January 27th, 2017 EJCIM 17 Lyon The Curry-Howard correspondence The dictionary: Proof theory Functional

More information

About Typed Algebraic Lambda-calculi

About Typed Algebraic Lambda-calculi About Typed Algebraic Lambda-calculi Benoît Valiron INRIA Saclay/LIX Palaiseau, France valiron@lix.polytechnique.fr Abstract Arrighi and Dowek (2008) introduce an untyped lambdacalculus together with a

More information

Syntax. Notation Throughout, and when not otherwise said, we assume a vocabulary V = C F P.

Syntax. Notation Throughout, and when not otherwise said, we assume a vocabulary V = C F P. First-Order Logic Syntax The alphabet of a first-order language is organised into the following categories. Logical connectives:,,,,, and. Auxiliary symbols:.,,, ( and ). Variables: we assume a countable

More information

Type Systems Winter Semester 2006

Type Systems Winter Semester 2006 Type Systems Winter Semester 2006 Week 7 November 29 November 29, 2006 - version 1.0 Plan PREVIOUSLY: 1. type safety as progress and preservation 2. typed arithmetic expressions 3. simply typed lambda

More information

COMP 2600: Formal Methods for Software Engineeing

COMP 2600: Formal Methods for Software Engineeing COMP 2600: Formal Methods for Software Engineeing Dirk Pattinson Semester 2, 2013 What do we mean by FORMAL? Oxford Dictionary in accordance with convention or etiquette or denoting a style of writing

More information

Rewriting, Explicit Substitutions and Normalisation

Rewriting, Explicit Substitutions and Normalisation Rewriting, Explicit Substitutions and Normalisation XXXVI Escola de Verão do MAT Universidade de Brasilia Part 1/3 Eduardo Bonelli LIFIA (Fac. de Informática, UNLP, Arg.) and CONICET eduardo@lifia.info.unlp.edu.ar

More information

Predicate Logic. Xinyu Feng 11/20/2013. University of Science and Technology of China (USTC)

Predicate Logic. Xinyu Feng 11/20/2013. University of Science and Technology of China (USTC) University of Science and Technology of China (USTC) 11/20/2013 Overview Predicate logic over integer expressions: a language of logical assertions, for example x. x + 0 = x Why discuss predicate logic?

More information

Extending the Lambda Calculus: An Eager Functional Language

Extending the Lambda Calculus: An Eager Functional Language Syntax of the basic constructs: Extending the Lambda Calculus: An Eager Functional Language canonical forms z cfm ::= intcfm boolcfm funcfm tuplecfm altcfm intcfm ::= 0 1-1... boolcfm ::= boolconst funcfm

More information

FIXED POINTS AND EXTENSIONALITY IN TYPED FUNCTIONAL PROGRAMMING LANGUAGES

FIXED POINTS AND EXTENSIONALITY IN TYPED FUNCTIONAL PROGRAMMING LANGUAGES FIXED POINTS AND EXTENSIONALITY IN TYPED FUNCTIONAL PROGRAMMING LANGUAGES a dissertation submitted to the department of computer science and the committee on graduate studies of stanford university in

More information

Mathematical Logic. Reasoning in First Order Logic. Chiara Ghidini. FBK-IRST, Trento, Italy

Mathematical Logic. Reasoning in First Order Logic. Chiara Ghidini. FBK-IRST, Trento, Italy Reasoning in First Order Logic FBK-IRST, Trento, Italy April 12, 2013 Reasoning tasks in FOL Model checking Question: Is φ true in the interpretation I with the assignment a? Answer: Yes if I = φ[a]. No

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Xiangyu Zhang The slides are compiled from Alex Aiken s Michael D. Ernst s Sorin Lerner s A Scary Outline Type-based analysis Data-flow analysis Abstract interpretation Theorem

More information

Lecture Notes on Combinatory Modal Logic

Lecture Notes on Combinatory Modal Logic Lecture Notes on Combinatory Modal Logic 15-816: Modal Logic Frank Pfenning Lecture 9 February 16, 2010 1 Introduction The connection between proofs and program so far has been through a proof term assignment

More information

Evaluation Driven Proof-Search in Natural Deduction Calculi for Intuitionistic Propositional Logic

Evaluation Driven Proof-Search in Natural Deduction Calculi for Intuitionistic Propositional Logic Evaluation Driven Proof-Search in Natural Deduction Calculi for Intuitionistic Propositional Logic Mauro Ferrari 1, Camillo Fiorentini 2 1 DiSTA, Univ. degli Studi dell Insubria, Varese, Italy 2 DI, Univ.

More information

Consequence Relations and Natural Deduction

Consequence Relations and Natural Deduction Consequence Relations and Natural Deduction Joshua D. Guttman Worcester Polytechnic Institute September 9, 2010 Contents 1 Consequence Relations 1 2 A Derivation System for Natural Deduction 3 3 Derivations

More information

Lazy Strong Normalization

Lazy Strong Normalization Lazy Strong Normalization Luca Paolini 1,2 Dipartimento di Informatica Università di Torino (ITALIA) Elaine Pimentel 1,2 Departamento de Matemática Universidade Federal de Minas Gerais (BRASIL) Dipartimento

More information

Informal Statement Calculus

Informal Statement Calculus FOUNDATIONS OF MATHEMATICS Branches of Logic 1. Theory of Computations (i.e. Recursion Theory). 2. Proof Theory. 3. Model Theory. 4. Set Theory. Informal Statement Calculus STATEMENTS AND CONNECTIVES Example

More information

Peano Arithmetic. CSC 438F/2404F Notes (S. Cook) Fall, Goals Now

Peano Arithmetic. CSC 438F/2404F Notes (S. Cook) Fall, Goals Now CSC 438F/2404F Notes (S. Cook) Fall, 2008 Peano Arithmetic Goals Now 1) We will introduce a standard set of axioms for the language L A. The theory generated by these axioms is denoted PA and called Peano

More information

Coinductive big-step operational semantics

Coinductive big-step operational semantics Coinductive big-step operational semantics Xavier Leroy a, Hervé Grall b a INRIA Paris-Rocquencourt Domaine de Voluceau, B.P. 105, 78153 Le Chesnay, France b École des Mines de Nantes La Chantrerie, 4,

More information

Consequence Relations and Natural Deduction

Consequence Relations and Natural Deduction Consequence Relations and Natural Deduction Joshua D Guttman Worcester Polytechnic Institute September 16, 2010 Contents 1 Consequence Relations 1 2 A Derivation System for Natural Deduction 3 3 Derivations

More information

Classical Propositional Logic

Classical Propositional Logic The Language of A Henkin-style Proof for Natural Deduction January 16, 2013 The Language of A Henkin-style Proof for Natural Deduction Logic Logic is the science of inference. Given a body of information,

More information

Logic: The Big Picture

Logic: The Big Picture Logic: The Big Picture A typical logic is described in terms of syntax: what are the legitimate formulas semantics: under what circumstances is a formula true proof theory/ axiomatization: rules for proving

More information

Sub-λ-calculi, Classified

Sub-λ-calculi, Classified Electronic Notes in Theoretical Computer Science 203 (2008) 123 133 www.elsevier.com/locate/entcs Sub-λ-calculi, Classified François-Régis Sinot Universidade do Porto (DCC & LIACC) Rua do Campo Alegre

More information

Realisability methods of proof and semantics with application to expansion

Realisability methods of proof and semantics with application to expansion Realisability methods of proof and semantics with application to expansion First Year Examination Supervisors : Professor Fairouz Kamareddine and Doctor Joe B. Wells Student : Vincent Rahli ULTRA group,

More information

Fixed-point elimination in Heyting algebras 1

Fixed-point elimination in Heyting algebras 1 1/32 Fixed-point elimination in Heyting algebras 1 Silvio Ghilardi, Università di Milano Maria João Gouveia, Universidade de Lisboa Luigi Santocanale, Aix-Marseille Université TACL@Praha, June 2017 1 See

More information

The Permutative λ-calculus

The Permutative λ-calculus The Permutative λ-calculus Beniamino Accattoli 1 Delia Kesner 2 INRIA and LIX (École Polytechnique) PPS (CNRS and Université Paris-Diderot) 1 / 34 Outline 1 λ-calculus 2 Permutative extension 3 Confluence

More information

Orthogonality and Boolean Algebras for Deduction Modulo

Orthogonality and Boolean Algebras for Deduction Modulo Orthogonality and Boolean Algebras for Deduction Modulo Aloïs Brunel 1, Olivier Hermant 2, and Clément Houtmann 3 1 ENS de Lyon, Alois.Brunel@ens-lyon.org 2 ISEP, Olivier.Hermant@isep.fr 3 INRIA Saclay,

More information

Classical First-Order Logic

Classical First-Order Logic Classical First-Order Logic Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) First-Order Logic (Classical) MFES 2008/09

More information

A rewriting calculus for cyclic higher-order term graphs

A rewriting calculus for cyclic higher-order term graphs Under consideration for publication in Math. Struct. in Comp. Science A rewriting calculus for cyclic higher-order term graphs PAOLO BALDAN 1 CLARA BERTOLISSI 3 2 HORATIU CIRSTEA 4 2 CLAUDE KIRCHNER 5

More information

Predicate Logic. Xinyu Feng 09/26/2011. University of Science and Technology of China (USTC)

Predicate Logic. Xinyu Feng 09/26/2011. University of Science and Technology of China (USTC) University of Science and Technology of China (USTC) 09/26/2011 Overview Predicate logic over integer expressions: a language of logical assertions, for example x. x + 0 = x Why discuss predicate logic?

More information

Ordinal Strength of Logic-Enriched Type Theories

Ordinal Strength of Logic-Enriched Type Theories Ordinal Strength of Logic-Enriched Type Theories Robin Adams Royal Holloway, University of London 27 March 2012 Robin Adams (RHUL) Ordinal Strength of LTTs 27 March 2012 1 / 27 Introduction Type theories

More information

Truth values algebras and proof normalization

Truth values algebras and proof normalization Truth values algebras and proof normalization Gilles Dowek École polytechnique and INRIA, LIX, École polytechnique, 91128 Palaiseau Cedex, France http://lix.polytechnique.fr/ dowek/ Gilles.Dowek@polytechnique.edu

More information