computable functionals over non flat data types
play

Computable functionals over non-flat data types Helmut - PowerPoint PPT Presentation

Partial continuous functionals Non-flat data types Computable functionals Definability Computable functionals over non-flat data types Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Mathematisches Institut, LMU, M unchen Kyoto


  1. Partial continuous functionals Non-flat data types Computable functionals Definability Computable functionals over non-flat data types Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Mathematisches Institut, LMU, M¨ unchen Kyoto University, Japan, 24. April 2009 Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Computable functionals over non-flat data types

  2. Partial continuous functionals Non-flat data types Computable functionals Definability Preview: logic for inductive definitions LID ◮ Typed language, with the partial continuous functionals as intended domains (cf. Peano arithmetic and N ). ◮ Terms are those of T + . ◮ Natural deduction rules for → and ∀ (“minimal logic”). ◮ All predicates are defined inductively. ◮ (Leibniz) equality ◮ Totality ◮ ∃ , ∧ , ∨ . Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Computable functionals over non-flat data types

  3. Partial continuous functionals Non-flat data types Computable functionals Definability Minlog ◮ Proof assistant for LID . ◮ Difference from Coq, Isabelle, Agda etc.: underlying theory of partial continuous functionals. ◮ Program extraction from (constructive and classical) proofs. ◮ www.minlog-system.de Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Computable functionals over non-flat data types

  4. Partial continuous functionals Continuity Non-flat data types Information systems Computable functionals Function spaces Definability Denotational semantics via continuous functionals ◮ Want: “meaning” of (typed) expressions or terms (in a functional programming language). ◮ What are the semantical objects /functionals? ◮ Numbers 0 , 1 , 2 , . . . . ◮ Functions, like n �→ 2 n . ◮ Functionals, like f �→ f ◦ f or f �→ f 0. Computations are to be finite. Hence: function arguments can only be called finitely many times (principle of finite support, PFS). Therefore computable functionals are continuous (Brouwer). Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Computable functionals over non-flat data types

  5. Partial continuous functionals Continuity Non-flat data types Information systems Computable functionals Function spaces Definability Denotational semantics via continuous functionals (ctd.) ◮ What are the domains of computable functionals? ◮ The full set theoretic hierarchy of functionals of finite types is problematic from a constructive point of view. ◮ Kreisel (1959) (“formal neighborhoods”) and Kleene (1959) (“countable functionals”) gave a more appropriate treatment. ◮ This was taken up and developed in a mathematically satisfactory way by Dana Scott and Yuri Ershov (70s), using partial functionals. ◮ Today usually in the framework of (classical) domain theory (initiated by Scott). Here: concrete representations of domains, via information systems (Scott 1982). Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Computable functionals over non-flat data types

  6. Partial continuous functionals Continuity Non-flat data types Information systems Computable functionals Function spaces Definability (Coherent) information systems A = ( A , � , ⊢ ) such that ◮ A is a non-empty (countable) set (the “tokens”). ◮ � is a reflexive and symmetric relation on A (“consistency”). ◮ ⊢ is a relation between Con and A (“entailment”), where Con := { U | U ⊆ fin A ∧ ∀ a , b ∈ U ( a � b ) } such that a ∈ U → U ⊢ a , ∀ b ∈ V ( U ⊢ b ) ∧ V ⊢ a → U ⊢ a , a ∈ U ∧ U ⊢ b → a � b . Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Computable functionals over non-flat data types

  7. Partial continuous functionals Continuity Non-flat data types Information systems Computable functionals Function spaces Definability Information systems (ctd.) U , V , W denote finite sets. U ⊢ V means ∀ a ∈ V ( U ⊢ a ). U ⊢ V → U ∪ V ∈ Con , U 1 ⊇ U ⊢ V ⊇ V 1 → U 1 ⊢ V 1 , U ⊢ V ⊢ W → U ⊢ W . The ideals or objects of an information system A = ( A , � , ⊢ ) are subsets x of A which satisfy U ⊆ x → U ∈ Con ( x in consistent) , x ⊇ U ⊢ a → a ∈ x ( x is deductively closed) . We write | A | for the set of ideals of A . Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Computable functionals over non-flat data types

  8. Partial continuous functionals Continuity Non-flat data types Information systems Computable functionals Function spaces Definability Examples ◮ Any (countable) set A can be turned into a flat information system. Tokens: all a ∈ A . a � b : ↔ a = b and U ⊢ a : ↔ a ∈ U , Then Con = {∅} ∪ { { a } | a ∈ A } . Objects: elements of Con . ◮ Approximations of functions from A to B . Tokens: pairs ( a , b ) with a ∈ A and b ∈ B . ( a 1 , b 1 ) � ( a 2 , b 2 ) : ↔ ( a 1 = a 2 → b 1 = b 2 ) , U ⊢ ( a , b ) : ↔ ( a , b ) ∈ U . Objects: (the graphs of) all partial functions from A to B . Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Computable functionals over non-flat data types

  9. Partial continuous functionals Continuity Non-flat data types Information systems Computable functionals Function spaces Definability Function spaces Let A = ( A , � A , ⊢ A ) and B = ( B , � B , ⊢ B ) be information systems. Then A → B = ( C , � , ⊢ ) defined by C := Con A × B , ( U , b ) � ( V , c ) : ↔ ( U � A V → b � B c ) , { ( U i , a i ) | i ∈ I } ⊢ ( V , b ) : ↔ { a i | V ⊢ A U i } ⊢ B b . is an information system again. Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Computable functionals over non-flat data types

  10. Partial continuous functionals Continuity Non-flat data types Information systems Computable functionals Function spaces Definability Approximable maps (Scott 1982) Given A and B , call a relation r ⊆ Con A × B an approximable map from A to B (written r : A → B ) iff ◮ if r ( U , b 1 ) and r ( U , b 2 ), then b 1 � B b 2 , and ◮ if r ( U , b ), V ⊢ A U and b ⊢ B c , then r ( V , c ). The ideals of A → B are the approximable maps from A to B . Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Computable functionals over non-flat data types

  11. Partial continuous functionals Continuity Non-flat data types Information systems Computable functionals Function spaces Definability Scott topology The set | A | of ideals for A carries a natural topology. Basis: cones ˜ U := { z | z ⊇ U } generated by the formal neighborhoods U . The continuous maps f : | A | → | B | and the ideals r ∈ | A → B | are in a bijective correspondence: | r | ( x ) := { b ∈ B | ∃ U ⊆ x (( U , b ) ∈ r ) } , ( U , b ) ∈ ˆ f : ↔ b ∈ f ( U ) with U := { a ∈ A | U ⊢ A a } . These assignments are inverse to each other: f = | ˆ r = � f | | r | . and Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Computable functionals over non-flat data types

  12. Partial continuous functionals Examples of data types Non-flat data types The information system A ι Computable functionals Constructors as continuous functions Definability Partial continuous functionals Examples of data types B := µ ξ ( ξ, ξ ) (booleans) , N := µ ξ ( ξ, ξ → ξ ) (natural numbers, unary) , := µ ξ ( ξ, ξ → ξ → ξ ) (expressions, i.e., binary trees) , E O := µ ξ ( ξ, ξ → ξ, ( N → ξ ) → ξ ) (ordinals) , T 0 := N , T n +1 := µ ξ ( ξ, ( T n → ξ ) → ξ ) (trees) . Data types with type parameters L ( α ) := µ ξ ( ξ, α → ξ → ξ ) (lists) , α × β := µ ξ ( α → β → ξ ) (product) , α + β := µ ξ ( α → ξ, β → ξ ) (sum) . Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Computable functionals over non-flat data types

  13. Partial continuous functionals Examples of data types Non-flat data types The information system A ι Computable functionals Constructors as continuous functions Definability Partial continuous functionals Information system A ι for a data type ι ◮ An extended token is a token or the symbol ∗ (notation a ∗ ). ◮ a ∗ � b ∗ : ↔ ( a = ∗ ) ∨ ( b = ∗ ) ∨ ( a = b ). ◮ U ∪ {∗} ⊢ a : ↔ U ⊢ a , and U ⊢ ∗ is true. a ∗ | C constructor of ι } , A ι = ( A , � , ⊢ ) is defined by A := { C � a ∗ � � � { a ∗ 11 , . . . , a ∗ 1 n } ⊢ b ∗ 1 . . . { a ∗ n 1 , . . . , a ∗ nn } ⊢ b ∗ b ∗ n b ∗ , . a ∗ � C � { C � n } ⊢ C � C � 1 , . . . , C � a ∗ a ∗ b ∗ Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Computable functionals over non-flat data types

  14. Partial continuous functionals Examples of data types Non-flat data types The information system A ι Computable functionals Constructors as continuous functions Definability Partial continuous functionals Tokens and entailment for N ... S ( S ( S 0)) • ❅ � ❅ � ❅ � S ( S 0) • • S ( S ( S ∗ )) ❅ � ❅ � ❅ � • • S ( S ∗ ) S 0 ❅ � ❅ � ❅ � • • 0 S ∗ Another example: E with constructors 0 and C . Then C 0 ∗ � C ∗ 0 , { C 0 ∗ , C ∗ 0 } ⊢ C 00 . Helmut Schwichtenberg (j.w.w. Basil Karadais, Simon Huber) Computable functionals over non-flat data types

Recommend


More recommend