SlideShare a Scribd company logo
1 of 43
Download to read offline
Non determinism through type
                   isomophism


     Alejandro Díaz-Caro                                Gilles Dowek
LIPN, Université Paris 13, Sorbonne Paris Cité        INRIA – Paris–Rocquencourt




                                           7th LSFA
                        Rio de Janeiro, September 29–30, 2012
Motivation: Di Cosmo’s isomorphisms           [Di Cosmo’95]


  - A∧B ≡B ∧A
  - A ∧ (B ∧ C ) ≡ (A ∧ B) ∧ C
  - A ⇒ (B ∧ C ) ≡ (A ⇒ B) ∧ (A ⇒ C )
  - (A ∧ B) ⇒ C ≡ A ⇒ (B ⇒ C )
  - A ⇒ (B ⇒ C ) ≡ B ⇒ (A ⇒ C )
  - A∧T≡A
  - A⇒T≡T
  - T⇒A≡A
  - ∀X .∀Y .A ≡ ∀Y .∀X .A
  - ∀X .A ≡ ∀Y .A[Y = X ]
  - ∀X .(A ⇒ B) ≡ A ⇒ ∀X .B if X ∈ FV (A)
                                 /
  - ∀X .(A ∧ B) ≡ ∀X .A ∧ ∀X .B
  - ∀X .T ≡ T
  - ∀X .(A ∧ B) ≡ ∀X .∀Y .(A ∧ (B[Y = X ]))

                                                              2 / 10
Motivation: Di Cosmo’s isomorphisms                 [Di Cosmo’95]


  - A∧B ≡B ∧A
  - A ∧ (B ∧ C ) ≡ (A ∧ B) ∧ C
  - A ⇒ (B ∧ C ) ≡ (A ⇒ B) ∧ (A ⇒ C )
  - (A ∧ B) ⇒ C ≡ A ⇒ (B ⇒ C )
  - A ⇒ (B ⇒ C ) ≡ B ⇒ (A ⇒ C )
  - A∧T≡A
  - A⇒T≡T                                     We want a proof-system
  - T⇒A≡A                                     where isomorphic proposi-
  - ∀X .∀Y .A ≡ ∀Y .∀X .A                     tions have the same proofs
  - ∀X .A ≡ ∀Y .A[Y = X ]
  - ∀X .(A ⇒ B) ≡ A ⇒ ∀X .B if X ∈ FV (A)
                                 /
  - ∀X .(A ∧ B) ≡ ∀X .A ∧ ∀X .B
  - ∀X .T ≡ T
  - ∀X .(A ∧ B) ≡ ∀X .∀Y .(A ∧ (B[Y = X ]))

                                                                       2 / 10
Minimal second order propositional logic
                               Γ, x : A        t:B   Γ       t:A⇒B            Γ   s:A
  Γ, x : A   x :A          Γ      λx.t : A ⇒ B                   Γ   ts : B


                  Γ     t:A                              Γ    t : ∀X .A
                                  X ∈ FV (Γ)
                                    /
              Γ       t : ∀X .A                      Γ       t : A[B/X ]




                                                                                        3 / 10
Minimal second order propositional logic
                               Γ, x : A        t:B         Γ       t:A⇒B            Γ   s:A
  Γ, x : A   x :A          Γ      λx.t : A ⇒ B                         Γ   ts : B


                  Γ     t:A                                    Γ    t : ∀X .A
                                  X ∈ FV (Γ)
                                    /
              Γ       t : ∀X .A                              Γ     t : A[B/X ]

Adding conjunction
                                  Γ       t:A         Γ   r:B
                                      Γ        t, r   :A∧B




                                                                                              3 / 10
Minimal second order propositional logic
                                Γ, x : A        t:B         Γ       t:A⇒B            Γ   s:A
   Γ, x : A   x :A          Γ      λx.t : A ⇒ B                         Γ   ts : B


                   Γ     t:A                                    Γ    t : ∀X .A
                                   X ∈ FV (Γ)
                                     /
               Γ       t : ∀X .A                              Γ     t : A[B/X ]

Adding conjunction
                                   Γ       t:A         Γ   r:B
                                       Γ        t, r   :A∧B

  We want A ∧ B        = B ∧A
      A ∧ (B ∧ C )     = (A ∧ B) ∧ C
      so      t, r     = r, t
          t, r, s      = t, r , s



                                                                                               3 / 10
Minimal second order propositional logic
                                Γ, x : A        t:B         Γ       t:A⇒B            Γ   s:A
   Γ, x : A   x :A          Γ      λx.t : A ⇒ B                         Γ   ts : B


                   Γ     t:A                                    Γ    t : ∀X .A
                                   X ∈ FV (Γ)
                                     /
               Γ       t : ∀X .A                            Γ       t : A[B/X ]

Adding conjunction
                                   Γ       t:A        Γ   r:B
                                       Γ        t+r :A∧B

  We want A ∧ B        = B ∧A                    We write
      A ∧ (B ∧ C )     = (A ∧ B) ∧ C                                t+r=r+t
      so      t, r     = r, t                             t + (r + s) = (t + r) + s
          t, r, s      = t, r , s



                                                                                               3 / 10
Minimal second order propositional logic
                                Γ, x : A        t:B         Γ       t:A⇒B            Γ   s:A
   Γ, x : A   x :A          Γ      λx.t : A ⇒ B                         Γ   ts : B


                   Γ     t:A                                    Γ    t : ∀X .A
                                   X ∈ FV (Γ)
                                     /
               Γ       t : ∀X .A                            Γ       t : A[B/X ]

Adding conjunction
                                   Γ       t:A        Γ   r:B
                                       Γ        t+r :A∧B

  We want A ∧ B        = B ∧A                    We write
      A ∧ (B ∧ C )     = (A ∧ B) ∧ C                                t+r=r+t
      so      t, r     = r, t                             t + (r + s) = (t + r) + s
          t, r, s      = t, r , s

                                                                λx.(t + r) = λx.t + λx.r
   Also A ⇒ (B ∧ C ) = (A ⇒ B) ∧ (A ⇒ C ) induces
                                                                  (t + r)s = ts + rs
                                                                                               3 / 10
What about ∧-elimination?
  Γ   t+r:A∧B
  Γ   π1 (t + r) : A




                            4 / 10
What about ∧-elimination?
  Γ   t+r:A∧B                                          Γ   t+r:B ∧A
                           But A ∧ B = B ∧ A !!
  Γ   π1 (t + r) : A                                   Γ   π1 (t + r) : B

  Moreover
  t+r=r+t              so π1 (t + r) = π1 (r + t) !!




                                                                            4 / 10
What about ∧-elimination?
  Γ   t+r:A∧B                                          Γ   t+r:B ∧A
                           But A ∧ B = B ∧ A !!
  Γ   π1 (t + r) : A                                   Γ   π1 (t + r) : B

  Moreover
  t+r=r+t              so π1 (t + r) = π1 (r + t) !!

  Workaround: Church-style. Project w.r.t. a type

                        If Γ     t : A then πA (t + r) → t




                                                                            4 / 10
What about ∧-elimination?
  Γ   t+r:A∧B                                          Γ   t+r:B ∧A
                           But A ∧ B = B ∧ A !!
  Γ   π1 (t + r) : A                                   Γ   π1 (t + r) : B

  Moreover
  t+r=r+t              so π1 (t + r) = π1 (r + t) !!

  Workaround: Church-style. Project w.r.t. a type

                        If Γ     t : A then πA (t + r) → t

  This induces non-determinism
                           Γ   t:A               πA (t + r) → t
                   If                   then
                           Γ   r:A               πA (t + r) → r




                                                                            4 / 10
What about ∧-elimination?
  Γ   t+r:A∧B                                          Γ   t+r:B ∧A
                           But A ∧ B = B ∧ A !!
  Γ   π1 (t + r) : A                                   Γ   π1 (t + r) : B

  Moreover
  t+r=r+t              so π1 (t + r) = π1 (r + t) !!

  Workaround: Church-style. Project w.r.t. a type

                        If Γ     t : A then πA (t + r) → t

  This induces non-determinism
                           Γ   t:A               πA (t + r) → t
                   If                   then
                           Γ   r:A               πA (t + r) → r


                                        We are interested in the proof theory
                                        and both t and r are valid proofs of A

                                                                                 4 / 10
The calculus
Types
A, B, C ::= X | A ⇒ B | A ∧ B | ∀X .A
Equivalences
        A∧B     ≡   B ∧A
  (A ∧ B) ∧ C   ≡   A ∧ (B ∧ C )
 A ⇒ (B ∧ C )   ≡   (A ⇒ B) ∧ (A ⇒ C )




                                         5 / 10
The calculus
Types
A, B, C ::= X | A ⇒ B | A ∧ B | ∀X .A
Equivalences
        A∧B         ≡    B ∧A
  (A ∧ B) ∧ C       ≡    A ∧ (B ∧ C )
 A ⇒ (B ∧ C )       ≡    (A ⇒ B) ∧ (A ⇒ C )

Terms
 t, r, s ::= x A | λx A .t | tr | ΛX .t | t{A}
             | t + r | πA (t)




                                                 5 / 10
The calculus
Types
A, B, C ::= X | A ⇒ B | A ∧ B | ∀X .A
Equivalences
        A∧B         ≡    B ∧A
  (A ∧ B) ∧ C       ≡    A ∧ (B ∧ C )
 A ⇒ (B ∧ C )       ≡    (A ⇒ B) ∧ (A ⇒ C )

Terms
 t, r, s ::= x A | λx A .t | tr | ΛX .t | t{A}
             | t + r | πA (t)
Reduction rules
   (λx A .t)r → t[r/x]
 (ΛX .t){A} → t[A/X ]
  πA (t + r) → t (if Γ         t : A)




                                                 5 / 10
The calculus
Types
A, B, C ::= X | A ⇒ B | A ∧ B | ∀X .A
Equivalences
        A∧B          ≡      B ∧A
  (A ∧ B) ∧ C        ≡      A ∧ (B ∧ C )
 A ⇒ (B ∧ C )        ≡      (A ⇒ B) ∧ (A ⇒ C )

Terms
 t, r, s ::= x A | λx A .t | tr | ΛX .t | t{A}
             | t + r | πA (t)
Reduction rules
     (λx A .t)r →   t[r/x]
 (ΛX .t){A} →       t[A/X ]
   πA (t + r) →     t (if Γ t : A)
         t+r        r+t
  (t + r) + s       t + (r + s)
      (t + r)s      ts + rs
 λx A .(t + r)      λx A .t + λx A .r
   πA⇒B (t)r        πB (tr)
                    (if Γ    t : A ⇒ (B ∧ C ))

                                                 5 / 10
The calculus
Types                                                                                        Γ, x : A        t:B
A, B, C ::= X | A ⇒ B | A ∧ B | ∀X .A                                  ax                                               ⇒I
                                                 Γ, x : A       x :A                                 A
                                                                                        Γ        λx .t : A ⇒ B
Equivalences
        A∧B          ≡      B ∧A                            Γ    t:A⇒B                       Γ       s:A
  (A ∧ B) ∧ C        ≡      A ∧ (B ∧ C )                                                                    ⇒E
                                                                        Γ         ts : B
 A ⇒ (B ∧ C )        ≡      (A ⇒ B) ∧ (A ⇒ C )
                                                 Γ       t:A    X ∈ FV (Γ)
                                                                  /                              Γ       t : ∀X .A
                                                                             ∀I                                         ∀E
Terms                                            Γ       ΛX .t : ∀X .A                   Γ       t{B} : A[B/X ]
 t, r, s ::= x A | λx A .t | tr | ΛX .t | t{A}
             | t + r | πA (t)                    Γ       t:A Γ         r:B                           Γ     t:A∧B
Reduction rules                                                                   ∧I                                    ∧E
     (λx A .t)r →   t[r/x]                           Γ   t+r:A∧B                                     Γ     πA (t) : A
 (ΛX .t){A} →       t[A/X ]
                                                                   Γ     t:A A≡B
   πA (t + r) →     t (if Γ t : A)                                                                   ≡
         t+r        r+t                                                      Γ     t:B
  (t + r) + s       t + (r + s)
      (t + r)s      ts + rs                      Theorem (Subject reduction)
 λx A .(t + r)      λx A .t + λx A .r
   πA⇒B (t)r        πB (tr)                      If Γ       t : A and t → r then Γ                              r:A
                    (if Γ    t : A ⇒ (B ∧ C ))                                         with → := → or

                                                                                                                      5 / 10
Example (I)


              λx A∧B .x : (A ∧ B) ⇒ (A ∧ B)




                                              6 / 10
Example (I)


                     λx A∧B .x : (A ∧ B) ⇒ (A ∧ B)


     (A ∧ B) ⇒ (A ∧ B)     ≡      ((A ∧ B) ⇒ A) ∧ ((A ∧ B) ⇒ B)




                                                                  6 / 10
Example (I)


                     λx A∧B .x : (A ∧ B) ⇒ (A ∧ B)


     (A ∧ B) ⇒ (A ∧ B)     ≡      ((A ∧ B) ⇒ A) ∧ ((A ∧ B) ⇒ B)
  Hence
                  π(A∧B)⇒A (λx A∧B .x) : (A ∧ B) ⇒ A




                                                                  6 / 10
Example (I)


                        λx A∧B .x : (A ∧ B) ⇒ (A ∧ B)


        (A ∧ B) ⇒ (A ∧ B)     ≡      ((A ∧ B) ⇒ A) ∧ ((A ∧ B) ⇒ B)
  Hence
                     π(A∧B)⇒A (λx A∧B .x) : (A ∧ B) ⇒ A
  Let        r:A∧B




                                                                     6 / 10
Example (I)


                        λx A∧B .x : (A ∧ B) ⇒ (A ∧ B)


        (A ∧ B) ⇒ (A ∧ B)       ≡      ((A ∧ B) ⇒ A) ∧ ((A ∧ B) ⇒ B)
  Hence
                     π(A∧B)⇒A (λx A∧B .x) : (A ∧ B) ⇒ A
  Let        r:A∧B

                            π(A∧B)⇒A (λx A∧B .x) r : A




                                                                       6 / 10
Example (I)


                        λx A∧B .x : (A ∧ B) ⇒ (A ∧ B)


        (A ∧ B) ⇒ (A ∧ B)       ≡      ((A ∧ B) ⇒ A) ∧ ((A ∧ B) ⇒ B)
  Hence
                     π(A∧B)⇒A (λx A∧B .x) : (A ∧ B) ⇒ A
  Let        r:A∧B

                            π(A∧B)⇒A (λx A∧B .x) r : A



    π(A∧B)⇒A (λx A∧B .x)r              πA ((λx A∧B .x)r)   →    πA (r)




                                                                         6 / 10
Example (II)

               TF = λx B .λy B .(x + y )
               TF : B ⇒ B ⇒ (B ∧ B)




                                           7 / 10
Example (II)

                        TF = λx B .λy B .(x + y )
                        TF : B ⇒ B ⇒ (B ∧ B)


      B ⇒ B ⇒ (B ∧ B)       ≡       (B ⇒ B ⇒ B) ∧ (B ⇒ B ⇒ B)




                                                                7 / 10
Example (II)

                        TF = λx B .λy B .(x + y )
                        TF : B ⇒ B ⇒ (B ∧ B)


      B ⇒ B ⇒ (B ∧ B)       ≡       (B ⇒ B ⇒ B) ∧ (B ⇒ B ⇒ B)


                    πB⇒B⇒B (TF) : B ⇒ B ⇒ B




                                                                7 / 10
Example (II)

                          TF = λx B .λy B .(x + y )
                          TF : B ⇒ B ⇒ (B ∧ B)


        B ⇒ B ⇒ (B ∧ B)       ≡       (B ⇒ B ⇒ B) ∧ (B ⇒ B ⇒ B)


                         πB⇒B⇒B (TF) : B ⇒ B ⇒ B
  Let      t:B     and         f:B




                                                                  7 / 10
Example (II)

                           TF = λx B .λy B .(x + y )
                           TF : B ⇒ B ⇒ (B ∧ B)


        B ⇒ B ⇒ (B ∧ B)        ≡       (B ⇒ B ⇒ B) ∧ (B ⇒ B ⇒ B)


                          πB⇒B⇒B (TF) : B ⇒ B ⇒ B
  Let      t:B      and         f:B

         πB⇒B⇒B (TF) t f




                                                                   7 / 10
Example (II)

                           TF = λx B .λy B .(x + y )
                           TF : B ⇒ B ⇒ (B ∧ B)


        B ⇒ B ⇒ (B ∧ B)        ≡       (B ⇒ B ⇒ B) ∧ (B ⇒ B ⇒ B)


                          πB⇒B⇒B (TF) : B ⇒ B ⇒ B
  Let      t:B      and         f:B

         πB⇒B⇒B (TF) t f           πB⇒B ((TF)t) f




                                                                   7 / 10
Example (II)

                           TF = λx B .λy B .(x + y )
                           TF : B ⇒ B ⇒ (B ∧ B)


        B ⇒ B ⇒ (B ∧ B)        ≡       (B ⇒ B ⇒ B) ∧ (B ⇒ B ⇒ B)


                          πB⇒B⇒B (TF) : B ⇒ B ⇒ B
  Let      t:B      and         f:B

         πB⇒B⇒B (TF) t f           πB⇒B ((TF)t) f      πB ((TF)tf)




                                                                     7 / 10
Example (II)

                           TF = λx B .λy B .(x + y )
                           TF : B ⇒ B ⇒ (B ∧ B)


        B ⇒ B ⇒ (B ∧ B)        ≡       (B ⇒ B ⇒ B) ∧ (B ⇒ B ⇒ B)


                          πB⇒B⇒B (TF) : B ⇒ B ⇒ B
  Let      t:B      and         f:B

         πB⇒B⇒B (TF) t f           πB⇒B ((TF)t) f        πB ((TF)tf)


                                          7Õ      3t
                           → πB (t + f) % y
                                                    +f


                                                                       7 / 10
Confluence (some ideas)
  Of course, a non-deterministic calculus is not confluent!
  Counterexample            πA (x A + y A )
                        x                        &
                   xA                                yA
                            |                |
                                 '       w
                                     ?




                                                             8 / 10
Confluence (some ideas)
  Of course, a non-deterministic calculus is not confluent!
  Counterexample                         πA (x A + y A )
                               x                                       &
                        xA                                                 yA
                                         |                       |
                                                     '       w
                                                         ?
  However, we can prove it keeps some coherence

      Confluence of the deterministic fragment
      Confluence of the “term ensembles”

   e.g.                       t
                    z                        "
           {ri }i                                t
                        #            }
                            {ri }i                                   [Arrighi,Díaz-Caro,Gadella,Grattage’08]



                                                                                                               8 / 10
Conclusions (with some examples)
  Proof system
  Let t be a proof of A
  and r be a proof of B
  so t + r is a proof of both A ∧ B and B ∧ A
                      Non deterministic calculus
                       t = ΛX .λx X .λy X .x
                       t                                 ff = ΛX .λx X .λy X .y
                                     B = ∀X .X ⇒ X ⇒ X


                                              t + ff : B ∧ B
                                              πB (t + ff ) : B
                                                  t

                                          {                      #
                                      t                              ff

  So far:
  - Proof system where (three) isomorphic types get the same proofs
  - Non-deterministic calculus
                                                                                  9 / 10
Future directions (open problems)
          Can we continue adding Di Cosmo’s isomorphisms?

  e.g. A ∧ T ≡ A induces t + 0   t and A ⇒ T ≡ T induces λx.0   0




                                                                    10 / 10
Future directions (open problems)
         Can we continue adding Di Cosmo’s isomorphisms?

  e.g. A ∧ T ≡ A induces t + 0  t and A ⇒ T ≡ T induces λx.0   0
  But if T ⇒ T ≡ T then (λx T .xx)(λx T .xx) : T (wrong)




                                                                   10 / 10
Future directions (open problems)
          Can we continue adding Di Cosmo’s isomorphisms?

  e.g. A ∧ T ≡ A induces t + 0  t and A ⇒ T ≡ T induces λx.0   0
  But if T ⇒ T ≡ T then (λx T .xx)(λx T .xx) : T (wrong)

                   A more interesting open question:
   Can we use this no determinism to define a probabilistic/quantum
                              language?




                                                                     10 / 10
Future directions (open problems)
          Can we continue adding Di Cosmo’s isomorphisms?

  e.g. A ∧ T ≡ A induces t + 0  t and A ⇒ T ≡ T induces λx.0              0
  But if T ⇒ T ≡ T then (λx T .xx)(λx T .xx) : T (wrong)

                    A more interesting open question:
   Can we use this no determinism to define a probabilistic/quantum
                              language?

  Some clues:
      Similar to the linear-algebraic lambda-calculus   [Arrighi,Dowek]




                                                                              10 / 10
Future directions (open problems)
          Can we continue adding Di Cosmo’s isomorphisms?

  e.g. A ∧ T ≡ A induces t + 0  t and A ⇒ T ≡ T induces λx.0              0
  But if T ⇒ T ≡ T then (λx T .xx)(λx T .xx) : T (wrong)

                    A more interesting open question:
   Can we use this no determinism to define a probabilistic/quantum
                              language?

  Some clues:
      Similar to the linear-algebraic lambda-calculus   [Arrighi,Dowek]
      We need call-by-value (no-cloning)




                                                                              10 / 10
Future directions (open problems)
          Can we continue adding Di Cosmo’s isomorphisms?

  e.g. A ∧ T ≡ A induces t + 0  t and A ⇒ T ≡ T induces λx.0              0
  But if T ⇒ T ≡ T then (λx T .xx)(λx T .xx) : T (wrong)

                     A more interesting open question:
   Can we use this no determinism to define a probabilistic/quantum
                              language?

  Some clues:
      Similar to the linear-algebraic lambda-calculus   [Arrighi,Dowek]
      We need call-by-value (no-cloning)
          In call-by-value,
                                   t(r + s)   tr + ts




                                                                              10 / 10
Future directions (open problems)
          Can we continue adding Di Cosmo’s isomorphisms?

  e.g. A ∧ T ≡ A induces t + 0  t and A ⇒ T ≡ T induces λx.0                0
  But if T ⇒ T ≡ T then (λx T .xx)(λx T .xx) : T (wrong)

                     A more interesting open question:
   Can we use this no determinism to define a probabilistic/quantum
                              language?

  Some clues:
      Similar to the linear-algebraic lambda-calculus     [Arrighi,Dowek]
      We need call-by-value (no-cloning)
          In call-by-value,
                                   t(r + s)     tr + ts

          But      (A ∧ B) ⇒ C      ≡         (A ⇒ C ) ∧ (B ⇒ C )


                                                                                10 / 10
Future directions (open problems)
          Can we continue adding Di Cosmo’s isomorphisms?

  e.g. A ∧ T ≡ A induces t + 0  t and A ⇒ T ≡ T induces λx.0                0
  But if T ⇒ T ≡ T then (λx T .xx)(λx T .xx) : T (wrong)

                     A more interesting open question:
   Can we use this no determinism to define a probabilistic/quantum
                              language?

  Some clues:
      Similar to the linear-algebraic lambda-calculus     [Arrighi,Dowek]
      We need call-by-value (no-cloning)
          In call-by-value,
                                   t(r + s)     tr + ts

          But      (A ∧ B) ⇒ C      ≡         (A ⇒ C ) ∧ (B ⇒ C )
       Workaround: Use polymorphism: ∀X .X ⇒ CX            [Arrighi,Díaz-Caro]

                                                                                 10 / 10

More Related Content

What's hot

Polynomial
PolynomialPolynomial
Polynomialobrtho84
 
Study of VBF/VBS in the LHC at 13 TeV and available tools
Study of VBF/VBS in the LHC at 13 TeV and available toolsStudy of VBF/VBS in the LHC at 13 TeV and available tools
Study of VBF/VBS in the LHC at 13 TeV and available toolsRaquel Gomez Ambrosio
 
Lesson 4: Lines and Planes (slides + notes)
Lesson 4: Lines and Planes (slides + notes)Lesson 4: Lines and Planes (slides + notes)
Lesson 4: Lines and Planes (slides + notes)Matthew Leingang
 
Analytic construction of elliptic curves and rational points
Analytic construction of elliptic curves and rational pointsAnalytic construction of elliptic curves and rational points
Analytic construction of elliptic curves and rational pointsmmasdeu
 
A new practical algorithm for volume estimation using annealing of convex bodies
A new practical algorithm for volume estimation using annealing of convex bodiesA new practical algorithm for volume estimation using annealing of convex bodies
A new practical algorithm for volume estimation using annealing of convex bodiesVissarion Fisikopoulos
 
1 polar coordinates
1 polar coordinates1 polar coordinates
1 polar coordinatesmath267
 
Stinespring’s theorem for maps on hilbert c star modules
Stinespring’s theorem for maps on hilbert c star modulesStinespring’s theorem for maps on hilbert c star modules
Stinespring’s theorem for maps on hilbert c star moduleswtyru1989
 
Summary of Integration Methods
Summary of Integration MethodsSummary of Integration Methods
Summary of Integration MethodsSilvius
 
Probability Arunesh Chand Mankotia 2005
Probability   Arunesh Chand Mankotia 2005Probability   Arunesh Chand Mankotia 2005
Probability Arunesh Chand Mankotia 2005Consultonmic
 
A26-8 analyze poly graphs
A26-8 analyze poly graphsA26-8 analyze poly graphs
A26-8 analyze poly graphsvhiggins1
 
Linear logic (and Linear Lisp)
Linear logic (and Linear Lisp)Linear logic (and Linear Lisp)
Linear logic (and Linear Lisp)Sosuke MORIGUCHI
 
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 1
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 1ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 1
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 1zukun
 
Towards a one shot entanglement theory
Towards a one shot entanglement theoryTowards a one shot entanglement theory
Towards a one shot entanglement theorywtyru1989
 

What's hot (20)

Sop and pos
Sop and posSop and pos
Sop and pos
 
Polynomial
PolynomialPolynomial
Polynomial
 
Ai4 heuristic2
Ai4 heuristic2Ai4 heuristic2
Ai4 heuristic2
 
3.1 2
3.1 23.1 2
3.1 2
 
Study of VBF/VBS in the LHC at 13 TeV and available tools
Study of VBF/VBS in the LHC at 13 TeV and available toolsStudy of VBF/VBS in the LHC at 13 TeV and available tools
Study of VBF/VBS in the LHC at 13 TeV and available tools
 
Lesson 4: Lines and Planes (slides + notes)
Lesson 4: Lines and Planes (slides + notes)Lesson 4: Lines and Planes (slides + notes)
Lesson 4: Lines and Planes (slides + notes)
 
Analytic construction of elliptic curves and rational points
Analytic construction of elliptic curves and rational pointsAnalytic construction of elliptic curves and rational points
Analytic construction of elliptic curves and rational points
 
A new practical algorithm for volume estimation using annealing of convex bodies
A new practical algorithm for volume estimation using annealing of convex bodiesA new practical algorithm for volume estimation using annealing of convex bodies
A new practical algorithm for volume estimation using annealing of convex bodies
 
1 polar coordinates
1 polar coordinates1 polar coordinates
1 polar coordinates
 
Stinespring’s theorem for maps on hilbert c star modules
Stinespring’s theorem for maps on hilbert c star modulesStinespring’s theorem for maps on hilbert c star modules
Stinespring’s theorem for maps on hilbert c star modules
 
Summary of Integration Methods
Summary of Integration MethodsSummary of Integration Methods
Summary of Integration Methods
 
Probability Arunesh Chand Mankotia 2005
Probability   Arunesh Chand Mankotia 2005Probability   Arunesh Chand Mankotia 2005
Probability Arunesh Chand Mankotia 2005
 
Pc 4.5 notes_graphing
Pc 4.5 notes_graphingPc 4.5 notes_graphing
Pc 4.5 notes_graphing
 
A26-8 analyze poly graphs
A26-8 analyze poly graphsA26-8 analyze poly graphs
A26-8 analyze poly graphs
 
Aa2
Aa2Aa2
Aa2
 
Linear logic (and Linear Lisp)
Linear logic (and Linear Lisp)Linear logic (and Linear Lisp)
Linear logic (and Linear Lisp)
 
slides_thesis
slides_thesisslides_thesis
slides_thesis
 
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 1
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 1ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 1
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 1
 
Week 12 - Trigonometry
Week 12 - TrigonometryWeek 12 - Trigonometry
Week 12 - Trigonometry
 
Towards a one shot entanglement theory
Towards a one shot entanglement theoryTowards a one shot entanglement theory
Towards a one shot entanglement theory
 

Similar to Non determinism through type isomophism

Eliminators into dependent types
Eliminators into dependent typesEliminators into dependent types
Eliminators into dependent typesDmytro Mitin
 
19 - Scala. Eliminators into dependent types (induction)
19 - Scala. Eliminators into dependent types (induction)19 - Scala. Eliminators into dependent types (induction)
19 - Scala. Eliminators into dependent types (induction)Roman Brovko
 
Lect1 No 873503264
Lect1 No 873503264Lect1 No 873503264
Lect1 No 873503264yangrong
 
Sombat kimatsu3
Sombat kimatsu3Sombat kimatsu3
Sombat kimatsu3xbatboy
 
2015 CMS Winter Meeting Poster
2015 CMS Winter Meeting Poster2015 CMS Winter Meeting Poster
2015 CMS Winter Meeting PosterChelsea Battell
 
On the proof theory for Description Logics
On the proof theory for Description LogicsOn the proof theory for Description Logics
On the proof theory for Description LogicsAlexandre Rademaker
 
透明な真理観を巡って
透明な真理観を巡って透明な真理観を巡って
透明な真理観を巡ってShunsuke Yatabe
 

Similar to Non determinism through type isomophism (8)

Eliminators into dependent types
Eliminators into dependent typesEliminators into dependent types
Eliminators into dependent types
 
19 - Scala. Eliminators into dependent types (induction)
19 - Scala. Eliminators into dependent types (induction)19 - Scala. Eliminators into dependent types (induction)
19 - Scala. Eliminators into dependent types (induction)
 
Lect1 No 873503264
Lect1 No 873503264Lect1 No 873503264
Lect1 No 873503264
 
Climate Extremes Workshop - Semiparametric Estimation of Heavy Tailed Density...
Climate Extremes Workshop - Semiparametric Estimation of Heavy Tailed Density...Climate Extremes Workshop - Semiparametric Estimation of Heavy Tailed Density...
Climate Extremes Workshop - Semiparametric Estimation of Heavy Tailed Density...
 
Sombat kimatsu3
Sombat kimatsu3Sombat kimatsu3
Sombat kimatsu3
 
2015 CMS Winter Meeting Poster
2015 CMS Winter Meeting Poster2015 CMS Winter Meeting Poster
2015 CMS Winter Meeting Poster
 
On the proof theory for Description Logics
On the proof theory for Description LogicsOn the proof theory for Description Logics
On the proof theory for Description Logics
 
透明な真理観を巡って
透明な真理観を巡って透明な真理観を巡って
透明な真理観を巡って
 

More from Alejandro Díaz-Caro

Typing quantum superpositions and measurement
Typing quantum superpositions and measurementTyping quantum superpositions and measurement
Typing quantum superpositions and measurementAlejandro Díaz-Caro
 
A lambda calculus for density matrices with classical and probabilistic controls
A lambda calculus for density matrices with classical and probabilistic controlsA lambda calculus for density matrices with classical and probabilistic controls
A lambda calculus for density matrices with classical and probabilistic controlsAlejandro Díaz-Caro
 
Towards a quantum lambda-calculus with quantum control
Towards a quantum lambda-calculus with quantum controlTowards a quantum lambda-calculus with quantum control
Towards a quantum lambda-calculus with quantum controlAlejandro Díaz-Caro
 
Affine computation and affine automaton
Affine computation and affine automatonAffine computation and affine automaton
Affine computation and affine automatonAlejandro Díaz-Caro
 
Simply typed lambda-calculus modulo isomorphisms
Simply typed lambda-calculus modulo isomorphismsSimply typed lambda-calculus modulo isomorphisms
Simply typed lambda-calculus modulo isomorphismsAlejandro Díaz-Caro
 
The probability of non-confluent systems
The probability of non-confluent systemsThe probability of non-confluent systems
The probability of non-confluent systemsAlejandro Díaz-Caro
 
Vectorial types, non-determinism and probabilistic systems: Towards a computa...
Vectorial types, non-determinism and probabilistic systems: Towards a computa...Vectorial types, non-determinism and probabilistic systems: Towards a computa...
Vectorial types, non-determinism and probabilistic systems: Towards a computa...Alejandro Díaz-Caro
 
Quantum computing, non-determinism, probabilistic systems... and the logic be...
Quantum computing, non-determinism, probabilistic systems... and the logic be...Quantum computing, non-determinism, probabilistic systems... and the logic be...
Quantum computing, non-determinism, probabilistic systems... and the logic be...Alejandro Díaz-Caro
 
Call-by-value non-determinism in a linear logic type discipline
Call-by-value non-determinism in a linear logic type disciplineCall-by-value non-determinism in a linear logic type discipline
Call-by-value non-determinism in a linear logic type disciplineAlejandro Díaz-Caro
 
Slides used during my thesis defense "Du typage vectoriel"
Slides used during my thesis defense "Du typage vectoriel"Slides used during my thesis defense "Du typage vectoriel"
Slides used during my thesis defense "Du typage vectoriel"Alejandro Díaz-Caro
 
Linearity in the non-deterministic call-by-value setting
Linearity in the non-deterministic call-by-value settingLinearity in the non-deterministic call-by-value setting
Linearity in the non-deterministic call-by-value settingAlejandro Díaz-Caro
 
A type system for the vectorial aspects of the linear-algebraic lambda-calculus
A type system for the vectorial aspects of the linear-algebraic lambda-calculusA type system for the vectorial aspects of the linear-algebraic lambda-calculus
A type system for the vectorial aspects of the linear-algebraic lambda-calculusAlejandro Díaz-Caro
 
Equivalence of algebraic λ-calculi
Equivalence of algebraic λ-calculiEquivalence of algebraic λ-calculi
Equivalence of algebraic λ-calculiAlejandro Díaz-Caro
 

More from Alejandro Díaz-Caro (15)

Typing quantum superpositions and measurement
Typing quantum superpositions and measurementTyping quantum superpositions and measurement
Typing quantum superpositions and measurement
 
A lambda calculus for density matrices with classical and probabilistic controls
A lambda calculus for density matrices with classical and probabilistic controlsA lambda calculus for density matrices with classical and probabilistic controls
A lambda calculus for density matrices with classical and probabilistic controls
 
Towards a quantum lambda-calculus with quantum control
Towards a quantum lambda-calculus with quantum controlTowards a quantum lambda-calculus with quantum control
Towards a quantum lambda-calculus with quantum control
 
Affine computation and affine automaton
Affine computation and affine automatonAffine computation and affine automaton
Affine computation and affine automaton
 
Simply typed lambda-calculus modulo isomorphisms
Simply typed lambda-calculus modulo isomorphismsSimply typed lambda-calculus modulo isomorphisms
Simply typed lambda-calculus modulo isomorphisms
 
The probability of non-confluent systems
The probability of non-confluent systemsThe probability of non-confluent systems
The probability of non-confluent systems
 
Vectorial types, non-determinism and probabilistic systems: Towards a computa...
Vectorial types, non-determinism and probabilistic systems: Towards a computa...Vectorial types, non-determinism and probabilistic systems: Towards a computa...
Vectorial types, non-determinism and probabilistic systems: Towards a computa...
 
Quantum computing, non-determinism, probabilistic systems... and the logic be...
Quantum computing, non-determinism, probabilistic systems... and the logic be...Quantum computing, non-determinism, probabilistic systems... and the logic be...
Quantum computing, non-determinism, probabilistic systems... and the logic be...
 
Call-by-value non-determinism in a linear logic type discipline
Call-by-value non-determinism in a linear logic type disciplineCall-by-value non-determinism in a linear logic type discipline
Call-by-value non-determinism in a linear logic type discipline
 
Slides used during my thesis defense "Du typage vectoriel"
Slides used during my thesis defense "Du typage vectoriel"Slides used during my thesis defense "Du typage vectoriel"
Slides used during my thesis defense "Du typage vectoriel"
 
Linearity in the non-deterministic call-by-value setting
Linearity in the non-deterministic call-by-value settingLinearity in the non-deterministic call-by-value setting
Linearity in the non-deterministic call-by-value setting
 
A type system for the vectorial aspects of the linear-algebraic lambda-calculus
A type system for the vectorial aspects of the linear-algebraic lambda-calculusA type system for the vectorial aspects of the linear-algebraic lambda-calculus
A type system for the vectorial aspects of the linear-algebraic lambda-calculus
 
Slides QuAND 2011
Slides QuAND 2011Slides QuAND 2011
Slides QuAND 2011
 
Equivalence of algebraic λ-calculi
Equivalence of algebraic λ-calculiEquivalence of algebraic λ-calculi
Equivalence of algebraic λ-calculi
 
A System F accounting for scalars
A System F accounting for scalarsA System F accounting for scalars
A System F accounting for scalars
 

Non determinism through type isomophism

  • 1. Non determinism through type isomophism Alejandro Díaz-Caro Gilles Dowek LIPN, Université Paris 13, Sorbonne Paris Cité INRIA – Paris–Rocquencourt 7th LSFA Rio de Janeiro, September 29–30, 2012
  • 2. Motivation: Di Cosmo’s isomorphisms [Di Cosmo’95] - A∧B ≡B ∧A - A ∧ (B ∧ C ) ≡ (A ∧ B) ∧ C - A ⇒ (B ∧ C ) ≡ (A ⇒ B) ∧ (A ⇒ C ) - (A ∧ B) ⇒ C ≡ A ⇒ (B ⇒ C ) - A ⇒ (B ⇒ C ) ≡ B ⇒ (A ⇒ C ) - A∧T≡A - A⇒T≡T - T⇒A≡A - ∀X .∀Y .A ≡ ∀Y .∀X .A - ∀X .A ≡ ∀Y .A[Y = X ] - ∀X .(A ⇒ B) ≡ A ⇒ ∀X .B if X ∈ FV (A) / - ∀X .(A ∧ B) ≡ ∀X .A ∧ ∀X .B - ∀X .T ≡ T - ∀X .(A ∧ B) ≡ ∀X .∀Y .(A ∧ (B[Y = X ])) 2 / 10
  • 3. Motivation: Di Cosmo’s isomorphisms [Di Cosmo’95] - A∧B ≡B ∧A - A ∧ (B ∧ C ) ≡ (A ∧ B) ∧ C - A ⇒ (B ∧ C ) ≡ (A ⇒ B) ∧ (A ⇒ C ) - (A ∧ B) ⇒ C ≡ A ⇒ (B ⇒ C ) - A ⇒ (B ⇒ C ) ≡ B ⇒ (A ⇒ C ) - A∧T≡A - A⇒T≡T We want a proof-system - T⇒A≡A where isomorphic proposi- - ∀X .∀Y .A ≡ ∀Y .∀X .A tions have the same proofs - ∀X .A ≡ ∀Y .A[Y = X ] - ∀X .(A ⇒ B) ≡ A ⇒ ∀X .B if X ∈ FV (A) / - ∀X .(A ∧ B) ≡ ∀X .A ∧ ∀X .B - ∀X .T ≡ T - ∀X .(A ∧ B) ≡ ∀X .∀Y .(A ∧ (B[Y = X ])) 2 / 10
  • 4. Minimal second order propositional logic Γ, x : A t:B Γ t:A⇒B Γ s:A Γ, x : A x :A Γ λx.t : A ⇒ B Γ ts : B Γ t:A Γ t : ∀X .A X ∈ FV (Γ) / Γ t : ∀X .A Γ t : A[B/X ] 3 / 10
  • 5. Minimal second order propositional logic Γ, x : A t:B Γ t:A⇒B Γ s:A Γ, x : A x :A Γ λx.t : A ⇒ B Γ ts : B Γ t:A Γ t : ∀X .A X ∈ FV (Γ) / Γ t : ∀X .A Γ t : A[B/X ] Adding conjunction Γ t:A Γ r:B Γ t, r :A∧B 3 / 10
  • 6. Minimal second order propositional logic Γ, x : A t:B Γ t:A⇒B Γ s:A Γ, x : A x :A Γ λx.t : A ⇒ B Γ ts : B Γ t:A Γ t : ∀X .A X ∈ FV (Γ) / Γ t : ∀X .A Γ t : A[B/X ] Adding conjunction Γ t:A Γ r:B Γ t, r :A∧B We want A ∧ B = B ∧A A ∧ (B ∧ C ) = (A ∧ B) ∧ C so t, r = r, t t, r, s = t, r , s 3 / 10
  • 7. Minimal second order propositional logic Γ, x : A t:B Γ t:A⇒B Γ s:A Γ, x : A x :A Γ λx.t : A ⇒ B Γ ts : B Γ t:A Γ t : ∀X .A X ∈ FV (Γ) / Γ t : ∀X .A Γ t : A[B/X ] Adding conjunction Γ t:A Γ r:B Γ t+r :A∧B We want A ∧ B = B ∧A We write A ∧ (B ∧ C ) = (A ∧ B) ∧ C t+r=r+t so t, r = r, t t + (r + s) = (t + r) + s t, r, s = t, r , s 3 / 10
  • 8. Minimal second order propositional logic Γ, x : A t:B Γ t:A⇒B Γ s:A Γ, x : A x :A Γ λx.t : A ⇒ B Γ ts : B Γ t:A Γ t : ∀X .A X ∈ FV (Γ) / Γ t : ∀X .A Γ t : A[B/X ] Adding conjunction Γ t:A Γ r:B Γ t+r :A∧B We want A ∧ B = B ∧A We write A ∧ (B ∧ C ) = (A ∧ B) ∧ C t+r=r+t so t, r = r, t t + (r + s) = (t + r) + s t, r, s = t, r , s λx.(t + r) = λx.t + λx.r Also A ⇒ (B ∧ C ) = (A ⇒ B) ∧ (A ⇒ C ) induces (t + r)s = ts + rs 3 / 10
  • 9. What about ∧-elimination? Γ t+r:A∧B Γ π1 (t + r) : A 4 / 10
  • 10. What about ∧-elimination? Γ t+r:A∧B Γ t+r:B ∧A But A ∧ B = B ∧ A !! Γ π1 (t + r) : A Γ π1 (t + r) : B Moreover t+r=r+t so π1 (t + r) = π1 (r + t) !! 4 / 10
  • 11. What about ∧-elimination? Γ t+r:A∧B Γ t+r:B ∧A But A ∧ B = B ∧ A !! Γ π1 (t + r) : A Γ π1 (t + r) : B Moreover t+r=r+t so π1 (t + r) = π1 (r + t) !! Workaround: Church-style. Project w.r.t. a type If Γ t : A then πA (t + r) → t 4 / 10
  • 12. What about ∧-elimination? Γ t+r:A∧B Γ t+r:B ∧A But A ∧ B = B ∧ A !! Γ π1 (t + r) : A Γ π1 (t + r) : B Moreover t+r=r+t so π1 (t + r) = π1 (r + t) !! Workaround: Church-style. Project w.r.t. a type If Γ t : A then πA (t + r) → t This induces non-determinism Γ t:A πA (t + r) → t If then Γ r:A πA (t + r) → r 4 / 10
  • 13. What about ∧-elimination? Γ t+r:A∧B Γ t+r:B ∧A But A ∧ B = B ∧ A !! Γ π1 (t + r) : A Γ π1 (t + r) : B Moreover t+r=r+t so π1 (t + r) = π1 (r + t) !! Workaround: Church-style. Project w.r.t. a type If Γ t : A then πA (t + r) → t This induces non-determinism Γ t:A πA (t + r) → t If then Γ r:A πA (t + r) → r We are interested in the proof theory and both t and r are valid proofs of A 4 / 10
  • 14. The calculus Types A, B, C ::= X | A ⇒ B | A ∧ B | ∀X .A Equivalences A∧B ≡ B ∧A (A ∧ B) ∧ C ≡ A ∧ (B ∧ C ) A ⇒ (B ∧ C ) ≡ (A ⇒ B) ∧ (A ⇒ C ) 5 / 10
  • 15. The calculus Types A, B, C ::= X | A ⇒ B | A ∧ B | ∀X .A Equivalences A∧B ≡ B ∧A (A ∧ B) ∧ C ≡ A ∧ (B ∧ C ) A ⇒ (B ∧ C ) ≡ (A ⇒ B) ∧ (A ⇒ C ) Terms t, r, s ::= x A | λx A .t | tr | ΛX .t | t{A} | t + r | πA (t) 5 / 10
  • 16. The calculus Types A, B, C ::= X | A ⇒ B | A ∧ B | ∀X .A Equivalences A∧B ≡ B ∧A (A ∧ B) ∧ C ≡ A ∧ (B ∧ C ) A ⇒ (B ∧ C ) ≡ (A ⇒ B) ∧ (A ⇒ C ) Terms t, r, s ::= x A | λx A .t | tr | ΛX .t | t{A} | t + r | πA (t) Reduction rules (λx A .t)r → t[r/x] (ΛX .t){A} → t[A/X ] πA (t + r) → t (if Γ t : A) 5 / 10
  • 17. The calculus Types A, B, C ::= X | A ⇒ B | A ∧ B | ∀X .A Equivalences A∧B ≡ B ∧A (A ∧ B) ∧ C ≡ A ∧ (B ∧ C ) A ⇒ (B ∧ C ) ≡ (A ⇒ B) ∧ (A ⇒ C ) Terms t, r, s ::= x A | λx A .t | tr | ΛX .t | t{A} | t + r | πA (t) Reduction rules (λx A .t)r → t[r/x] (ΛX .t){A} → t[A/X ] πA (t + r) → t (if Γ t : A) t+r r+t (t + r) + s t + (r + s) (t + r)s ts + rs λx A .(t + r) λx A .t + λx A .r πA⇒B (t)r πB (tr) (if Γ t : A ⇒ (B ∧ C )) 5 / 10
  • 18. The calculus Types Γ, x : A t:B A, B, C ::= X | A ⇒ B | A ∧ B | ∀X .A ax ⇒I Γ, x : A x :A A Γ λx .t : A ⇒ B Equivalences A∧B ≡ B ∧A Γ t:A⇒B Γ s:A (A ∧ B) ∧ C ≡ A ∧ (B ∧ C ) ⇒E Γ ts : B A ⇒ (B ∧ C ) ≡ (A ⇒ B) ∧ (A ⇒ C ) Γ t:A X ∈ FV (Γ) / Γ t : ∀X .A ∀I ∀E Terms Γ ΛX .t : ∀X .A Γ t{B} : A[B/X ] t, r, s ::= x A | λx A .t | tr | ΛX .t | t{A} | t + r | πA (t) Γ t:A Γ r:B Γ t:A∧B Reduction rules ∧I ∧E (λx A .t)r → t[r/x] Γ t+r:A∧B Γ πA (t) : A (ΛX .t){A} → t[A/X ] Γ t:A A≡B πA (t + r) → t (if Γ t : A) ≡ t+r r+t Γ t:B (t + r) + s t + (r + s) (t + r)s ts + rs Theorem (Subject reduction) λx A .(t + r) λx A .t + λx A .r πA⇒B (t)r πB (tr) If Γ t : A and t → r then Γ r:A (if Γ t : A ⇒ (B ∧ C )) with → := → or 5 / 10
  • 19. Example (I) λx A∧B .x : (A ∧ B) ⇒ (A ∧ B) 6 / 10
  • 20. Example (I) λx A∧B .x : (A ∧ B) ⇒ (A ∧ B) (A ∧ B) ⇒ (A ∧ B) ≡ ((A ∧ B) ⇒ A) ∧ ((A ∧ B) ⇒ B) 6 / 10
  • 21. Example (I) λx A∧B .x : (A ∧ B) ⇒ (A ∧ B) (A ∧ B) ⇒ (A ∧ B) ≡ ((A ∧ B) ⇒ A) ∧ ((A ∧ B) ⇒ B) Hence π(A∧B)⇒A (λx A∧B .x) : (A ∧ B) ⇒ A 6 / 10
  • 22. Example (I) λx A∧B .x : (A ∧ B) ⇒ (A ∧ B) (A ∧ B) ⇒ (A ∧ B) ≡ ((A ∧ B) ⇒ A) ∧ ((A ∧ B) ⇒ B) Hence π(A∧B)⇒A (λx A∧B .x) : (A ∧ B) ⇒ A Let r:A∧B 6 / 10
  • 23. Example (I) λx A∧B .x : (A ∧ B) ⇒ (A ∧ B) (A ∧ B) ⇒ (A ∧ B) ≡ ((A ∧ B) ⇒ A) ∧ ((A ∧ B) ⇒ B) Hence π(A∧B)⇒A (λx A∧B .x) : (A ∧ B) ⇒ A Let r:A∧B π(A∧B)⇒A (λx A∧B .x) r : A 6 / 10
  • 24. Example (I) λx A∧B .x : (A ∧ B) ⇒ (A ∧ B) (A ∧ B) ⇒ (A ∧ B) ≡ ((A ∧ B) ⇒ A) ∧ ((A ∧ B) ⇒ B) Hence π(A∧B)⇒A (λx A∧B .x) : (A ∧ B) ⇒ A Let r:A∧B π(A∧B)⇒A (λx A∧B .x) r : A π(A∧B)⇒A (λx A∧B .x)r πA ((λx A∧B .x)r) → πA (r) 6 / 10
  • 25. Example (II) TF = λx B .λy B .(x + y ) TF : B ⇒ B ⇒ (B ∧ B) 7 / 10
  • 26. Example (II) TF = λx B .λy B .(x + y ) TF : B ⇒ B ⇒ (B ∧ B) B ⇒ B ⇒ (B ∧ B) ≡ (B ⇒ B ⇒ B) ∧ (B ⇒ B ⇒ B) 7 / 10
  • 27. Example (II) TF = λx B .λy B .(x + y ) TF : B ⇒ B ⇒ (B ∧ B) B ⇒ B ⇒ (B ∧ B) ≡ (B ⇒ B ⇒ B) ∧ (B ⇒ B ⇒ B) πB⇒B⇒B (TF) : B ⇒ B ⇒ B 7 / 10
  • 28. Example (II) TF = λx B .λy B .(x + y ) TF : B ⇒ B ⇒ (B ∧ B) B ⇒ B ⇒ (B ∧ B) ≡ (B ⇒ B ⇒ B) ∧ (B ⇒ B ⇒ B) πB⇒B⇒B (TF) : B ⇒ B ⇒ B Let t:B and f:B 7 / 10
  • 29. Example (II) TF = λx B .λy B .(x + y ) TF : B ⇒ B ⇒ (B ∧ B) B ⇒ B ⇒ (B ∧ B) ≡ (B ⇒ B ⇒ B) ∧ (B ⇒ B ⇒ B) πB⇒B⇒B (TF) : B ⇒ B ⇒ B Let t:B and f:B πB⇒B⇒B (TF) t f 7 / 10
  • 30. Example (II) TF = λx B .λy B .(x + y ) TF : B ⇒ B ⇒ (B ∧ B) B ⇒ B ⇒ (B ∧ B) ≡ (B ⇒ B ⇒ B) ∧ (B ⇒ B ⇒ B) πB⇒B⇒B (TF) : B ⇒ B ⇒ B Let t:B and f:B πB⇒B⇒B (TF) t f πB⇒B ((TF)t) f 7 / 10
  • 31. Example (II) TF = λx B .λy B .(x + y ) TF : B ⇒ B ⇒ (B ∧ B) B ⇒ B ⇒ (B ∧ B) ≡ (B ⇒ B ⇒ B) ∧ (B ⇒ B ⇒ B) πB⇒B⇒B (TF) : B ⇒ B ⇒ B Let t:B and f:B πB⇒B⇒B (TF) t f πB⇒B ((TF)t) f πB ((TF)tf) 7 / 10
  • 32. Example (II) TF = λx B .λy B .(x + y ) TF : B ⇒ B ⇒ (B ∧ B) B ⇒ B ⇒ (B ∧ B) ≡ (B ⇒ B ⇒ B) ∧ (B ⇒ B ⇒ B) πB⇒B⇒B (TF) : B ⇒ B ⇒ B Let t:B and f:B πB⇒B⇒B (TF) t f πB⇒B ((TF)t) f πB ((TF)tf) 7Õ 3t → πB (t + f) % y +f 7 / 10
  • 33. Confluence (some ideas) Of course, a non-deterministic calculus is not confluent! Counterexample πA (x A + y A ) x & xA yA | | ' w ? 8 / 10
  • 34. Confluence (some ideas) Of course, a non-deterministic calculus is not confluent! Counterexample πA (x A + y A ) x & xA yA | | ' w ? However, we can prove it keeps some coherence Confluence of the deterministic fragment Confluence of the “term ensembles” e.g. t z " {ri }i t # } {ri }i [Arrighi,Díaz-Caro,Gadella,Grattage’08] 8 / 10
  • 35. Conclusions (with some examples) Proof system Let t be a proof of A and r be a proof of B so t + r is a proof of both A ∧ B and B ∧ A Non deterministic calculus t = ΛX .λx X .λy X .x t ff = ΛX .λx X .λy X .y B = ∀X .X ⇒ X ⇒ X t + ff : B ∧ B πB (t + ff ) : B t { # t ff So far: - Proof system where (three) isomorphic types get the same proofs - Non-deterministic calculus 9 / 10
  • 36. Future directions (open problems) Can we continue adding Di Cosmo’s isomorphisms? e.g. A ∧ T ≡ A induces t + 0 t and A ⇒ T ≡ T induces λx.0 0 10 / 10
  • 37. Future directions (open problems) Can we continue adding Di Cosmo’s isomorphisms? e.g. A ∧ T ≡ A induces t + 0 t and A ⇒ T ≡ T induces λx.0 0 But if T ⇒ T ≡ T then (λx T .xx)(λx T .xx) : T (wrong) 10 / 10
  • 38. Future directions (open problems) Can we continue adding Di Cosmo’s isomorphisms? e.g. A ∧ T ≡ A induces t + 0 t and A ⇒ T ≡ T induces λx.0 0 But if T ⇒ T ≡ T then (λx T .xx)(λx T .xx) : T (wrong) A more interesting open question: Can we use this no determinism to define a probabilistic/quantum language? 10 / 10
  • 39. Future directions (open problems) Can we continue adding Di Cosmo’s isomorphisms? e.g. A ∧ T ≡ A induces t + 0 t and A ⇒ T ≡ T induces λx.0 0 But if T ⇒ T ≡ T then (λx T .xx)(λx T .xx) : T (wrong) A more interesting open question: Can we use this no determinism to define a probabilistic/quantum language? Some clues: Similar to the linear-algebraic lambda-calculus [Arrighi,Dowek] 10 / 10
  • 40. Future directions (open problems) Can we continue adding Di Cosmo’s isomorphisms? e.g. A ∧ T ≡ A induces t + 0 t and A ⇒ T ≡ T induces λx.0 0 But if T ⇒ T ≡ T then (λx T .xx)(λx T .xx) : T (wrong) A more interesting open question: Can we use this no determinism to define a probabilistic/quantum language? Some clues: Similar to the linear-algebraic lambda-calculus [Arrighi,Dowek] We need call-by-value (no-cloning) 10 / 10
  • 41. Future directions (open problems) Can we continue adding Di Cosmo’s isomorphisms? e.g. A ∧ T ≡ A induces t + 0 t and A ⇒ T ≡ T induces λx.0 0 But if T ⇒ T ≡ T then (λx T .xx)(λx T .xx) : T (wrong) A more interesting open question: Can we use this no determinism to define a probabilistic/quantum language? Some clues: Similar to the linear-algebraic lambda-calculus [Arrighi,Dowek] We need call-by-value (no-cloning) In call-by-value, t(r + s) tr + ts 10 / 10
  • 42. Future directions (open problems) Can we continue adding Di Cosmo’s isomorphisms? e.g. A ∧ T ≡ A induces t + 0 t and A ⇒ T ≡ T induces λx.0 0 But if T ⇒ T ≡ T then (λx T .xx)(λx T .xx) : T (wrong) A more interesting open question: Can we use this no determinism to define a probabilistic/quantum language? Some clues: Similar to the linear-algebraic lambda-calculus [Arrighi,Dowek] We need call-by-value (no-cloning) In call-by-value, t(r + s) tr + ts But (A ∧ B) ⇒ C ≡ (A ⇒ C ) ∧ (B ⇒ C ) 10 / 10
  • 43. Future directions (open problems) Can we continue adding Di Cosmo’s isomorphisms? e.g. A ∧ T ≡ A induces t + 0 t and A ⇒ T ≡ T induces λx.0 0 But if T ⇒ T ≡ T then (λx T .xx)(λx T .xx) : T (wrong) A more interesting open question: Can we use this no determinism to define a probabilistic/quantum language? Some clues: Similar to the linear-algebraic lambda-calculus [Arrighi,Dowek] We need call-by-value (no-cloning) In call-by-value, t(r + s) tr + ts But (A ∧ B) ⇒ C ≡ (A ⇒ C ) ∧ (B ⇒ C ) Workaround: Use polymorphism: ∀X .X ⇒ CX [Arrighi,Díaz-Caro] 10 / 10