✤ ✜ Untyped Normalization-by-Evaluation ✣ ✢ Klaus Aehlig Felix Joachimski Mathematisches Institut LMU M¨ unchen { aehlig , joachski } @mathematik.uni-muenchen.de Tallinn, 17.4.4 Klaus Aehlig and Felix Joachimski. Operational aspects of untyped normalization by evaluation. Accepted by Mathematical Structures in Computer Science , 2003. http://www.mathematik.uni-muenchen.de/ ˜ aehlig Untyped Normalization by Evaluation Tallinn 17.4.4 1 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Motivation ✬ ✩ [[ · ]] ξ : Terms − → Semantics (evaluation function) ↓ : Semantics − → Normal forms (inverse) ↑ : Variables − → Semantics (valuation) ✫ ✪ ✄ Soundness : r → s ⇒ [[ r ]] ξ = [[ s ]] ξ ✄ Reproduction : r in normal form ⇒ ↓ [[ r ]] ↑ = r Untyped Normalization by Evaluation Tallinn 17.4.4 2 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Motivation ✬ ✩ [[ · ]] ξ : Terms − → Semantics (evaluation function) ↓ : Semantics − → Normal forms (inverse) ↑ : Variables − → Semantics (valuation) ✫ ✪ ✄ Soundness : r → s ⇒ [[ r ]] ξ = [[ s ]] ξ ✄ Reproduction : r in normal form ⇒ ↓ [[ r ]] ↑ = r r = β s ∈ NF β Untyped Normalization by Evaluation Tallinn 17.4.4 2 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Motivation ✬ ✩ [[ · ]] ξ : Terms − → Semantics (evaluation function) ↓ : Semantics − → Normal forms (inverse) ↑ : Variables − → Semantics (valuation) ✫ ✪ ✄ Soundness : r → s ⇒ [[ r ]] ξ = [[ s ]] ξ ✄ Reproduction : r in normal form ⇒ ↓ [[ r ]] ↑ = r ⇒ r → ∗ s r = β s ∈ NF β = Untyped Normalization by Evaluation Tallinn 17.4.4 2 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Motivation ✬ ✩ [[ · ]] ξ : Terms − → Semantics (evaluation function) ↓ : Semantics − → Normal forms (inverse) ↑ : Variables − → Semantics (valuation) ✫ ✪ ✄ Soundness : r → s ⇒ [[ r ]] ξ = [[ s ]] ξ ✄ Reproduction : r in normal form ⇒ ↓ [[ r ]] ↑ = r ⇒ r → ∗ s = r = β s ∈ NF β = ⇒ ↓ [[ r ]] ↑ Untyped Normalization by Evaluation Tallinn 17.4.4 2 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Motivation ✬ ✩ [[ · ]] ξ : Terms − → Semantics (evaluation function) ↓ : Semantics − → Normal forms (inverse) ↑ : Variables − → Semantics (valuation) ✫ ✪ ✄ Soundness : r → s ⇒ [[ r ]] ξ = [[ s ]] ξ ✄ Reproduction : r in normal form ⇒ ↓ [[ r ]] ↑ = r ⇒ r → ∗ s = r = β s ∈ NF β = ⇒ ↓ [[ r ]] ↑ = ↓ [[ s ]] ↑ Untyped Normalization by Evaluation Tallinn 17.4.4 2 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Motivation ✬ ✩ [[ · ]] ξ : Terms − → Semantics (evaluation function) ↓ : Semantics − → Normal forms (inverse) ↑ : Variables − → Semantics (valuation) ✫ ✪ ✄ Soundness : r → s ⇒ [[ r ]] ξ = [[ s ]] ξ ✄ Reproduction : r in normal form ⇒ ↓ [[ r ]] ↑ = r ⇒ r → ∗ s = r = β s ∈ NF β = ⇒ ↓ [[ r ]] ↑ = ↓ [[ s ]] ↑ = s Untyped Normalization by Evaluation Tallinn 17.4.4 2 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Example — The typed λ -calculus ✄ Terms: Λ with simple types Untyped Normalization by Evaluation Tallinn 17.4.4 3 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Example — The typed λ -calculus ✄ Terms: Λ with simple types ✄ Semantics: [[ ι ]] := NF ι , [[ ρ → σ ]] := [[ ρ ]] → [[ σ ]] Untyped Normalization by Evaluation Tallinn 17.4.4 3 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Example — The typed λ -calculus ✄ Terms: Λ with simple types ✄ Semantics: [[ ι ]] := NF ι , [[ ρ → σ ]] := [[ ρ ]] → [[ σ ]] ✄ Evaluation: [[ x ]] ξ := ξx, [[ rs ]] ξ := [[ r ]] ξ [[ s ]] ξ , [[ λxr ]] ξ := λ λX [[ r ]] ξ,x := X Untyped Normalization by Evaluation Tallinn 17.4.4 3 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Example — The typed λ -calculus ✄ Terms: Λ with simple types ✄ Semantics: [[ ι ]] := NF ι , [[ ρ → σ ]] := [[ ρ ]] → [[ σ ]] ✄ Evaluation: [[ x ]] ξ := ξx, [[ rs ]] ξ := [[ r ]] ξ [[ s ]] ξ , [[ λxr ]] ξ := λ λX [[ r ]] ξ,x := X ✄ ↑ ρ : { x� r | � r normal } → [[ ρ ]] and ↓ ρ : [[ ρ ]] → NF ρ ★ ✥ ↑ ι r := ↑ ρ → σ r := λX ↑ σ ( r ↓ ρ X ) , r, λ ↓ ι r := ↓ ρ → σ R := λx ↓ σ ( R ↑ ρ x ) , x new r, ✧ ✦ Untyped Normalization by Evaluation Tallinn 17.4.4 3 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Example — The typed λ -calculus ✄ Terms: Λ with simple types ✄ Semantics: [[ ι ]] := NF ι , [[ ρ → σ ]] := [[ ρ ]] → [[ σ ]] ✄ Evaluation: [[ x ]] ξ := ξx, [[ rs ]] ξ := [[ r ]] ξ [[ s ]] ξ , [[ λxr ]] ξ := λ λX [[ r ]] ξ,x := X ✄ ↑ ρ : { x� r | � r normal } → [[ ρ ]] and ↓ ρ : [[ ρ ]] → NF ρ ★ ✥ ↑ ι r := ↑ ρ → σ r := λX ↑ σ ( r ↓ ρ X ) , r, λ ↓ ι r := ↓ ρ → σ R := λx ↓ σ ( R ↑ ρ x ) , x new r, ✧ ✦ ✄ Properties: ↓ ρ → σ λ λXR Untyped Normalization by Evaluation Tallinn 17.4.4 3 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Example — The typed λ -calculus ✄ Terms: Λ with simple types ✄ Semantics: [[ ι ]] := NF ι , [[ ρ → σ ]] := [[ ρ ]] → [[ σ ]] ✄ Evaluation: [[ x ]] ξ := ξx, [[ rs ]] ξ := [[ r ]] ξ [[ s ]] ξ , [[ λxr ]] ξ := λ λX [[ r ]] ξ,x := X ✄ ↑ ρ : { x� r | � r normal } → [[ ρ ]] and ↓ ρ : [[ ρ ]] → NF ρ ★ ✥ ↑ ι r := ↑ ρ → σ r := λX ↑ σ ( r ↓ ρ X ) , r, λ ↓ ι r := ↓ ρ → σ R := λx ↓ σ ( R ↑ ρ x ) , x new r, ✧ ✦ ✄ Properties: ↓ ρ → σ λ = λx ↓ σ ( ( λ λXR ) ↑ ρ x ) λXR Untyped Normalization by Evaluation Tallinn 17.4.4 3 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Example — The typed λ -calculus ✄ Terms: Λ with simple types ✄ Semantics: [[ ι ]] := NF ι , [[ ρ → σ ]] := [[ ρ ]] → [[ σ ]] ✄ Evaluation: [[ x ]] ξ := ξx, [[ rs ]] ξ := [[ r ]] ξ [[ s ]] ξ , [[ λxr ]] ξ := λ λX [[ r ]] ξ,x := X ✄ ↑ ρ : { x� r | � r normal } → [[ ρ ]] and ↓ ρ : [[ ρ ]] → NF ρ ★ ✥ ↑ ι r := ↑ ρ → σ r := λX ↑ σ ( r ↓ ρ X ) , r, λ ↓ ι r := ↓ ρ → σ R := λx ↓ σ ( R ↑ ρ x ) , x new r, ✧ ✦ ✄ Properties: ↓ ρ → σ λ = λx ↓ σ ( ( λ λXR ) ↑ ρ x ) = λx ↓ σ ( R [ X := ↑ ρ x ]) . λXR Untyped Normalization by Evaluation Tallinn 17.4.4 3 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Example — The typed λ -calculus ✄ Terms: Λ with simple types ✄ Semantics: [[ ι ]] := NF ι , [[ ρ → σ ]] := [[ ρ ]] → [[ σ ]] ✄ Evaluation: [[ x ]] ξ := ξx, [[ rs ]] ξ := [[ r ]] ξ [[ s ]] ξ , [[ λxr ]] ξ := λ λX [[ r ]] ξ,x := X ✄ ↑ ρ : { x� r | � r normal } → [[ ρ ]] and ↓ ρ : [[ ρ ]] → NF ρ ★ ✥ ↑ ι r := ↑ ρ → σ r := λX ↑ σ ( r ↓ ρ X ) , r, λ ↓ ι r := ↓ ρ → σ R := λx ↓ σ ( R ↑ ρ x ) , x new r, ✧ ✦ ✄ Properties: ↓ ρ → σ λ = λx ↓ σ ( ( λ λXR ) ↑ ρ x ) = λx ↓ σ ( R [ X := ↑ ρ x ]) . λXR ( ↑ ρ → σ r ) S Untyped Normalization by Evaluation Tallinn 17.4.4 3 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Example — The typed λ -calculus ✄ Terms: Λ with simple types ✄ Semantics: [[ ι ]] := NF ι , [[ ρ → σ ]] := [[ ρ ]] → [[ σ ]] ✄ Evaluation: [[ x ]] ξ := ξx, [[ rs ]] ξ := [[ r ]] ξ [[ s ]] ξ , [[ λxr ]] ξ := λ λX [[ r ]] ξ,x := X ✄ ↑ ρ : { x� r | � r normal } → [[ ρ ]] and ↓ ρ : [[ ρ ]] → NF ρ ★ ✥ ↑ ι r := ↑ ρ → σ r := λX ↑ σ ( r ↓ ρ X ) , r, λ ↓ ι r := ↓ ρ → σ R := λx ↓ σ ( R ↑ ρ x ) , x new r, ✧ ✦ ✄ Properties: ↓ ρ → σ λ = λx ↓ σ ( ( λ λXR ) ↑ ρ x ) = λx ↓ σ ( R [ X := ↑ ρ x ]) . λXR ( ↑ ρ → σ r ) S = ( λ λX ↑ σ ( r ↓ ρ X )) S Untyped Normalization by Evaluation Tallinn 17.4.4 3 Motivation Example Axioms 2-level Evaluation Object Meta eval skk Standardization B¨ ohm Types Conclusions
Recommend
More recommend