the semantics of nominal logic programs
play

The Semantics of Nominal Logic Programs James Cheney ICLP 2006 - PowerPoint PPT Presentation

The Semantics of Nominal Logic Programs James Cheney ICLP 2006 August 19, 2006 1 Motivation Nominal logic [Pitts 2003] is a first-order axiomatization of names, name-binding, and alpha-equivalence Provides a logical foundation for


  1. The Semantics of Nominal Logic Programs James Cheney ICLP 2006 August 19, 2006 1

  2. Motivation • Nominal logic [Pitts 2003] is a first-order axiomatization of names, name-binding, and alpha-equivalence • Provides a logical foundation for logic programming with “concrete” names • Much more convenient for prototyping type systems, • “First-class” names, including nondeterministic fresh name generation, so sometimes more convenient than HO abstract syntax 2

  3. Example • A (very tired) example: typechecking. Γ ⊢ e : T → U Γ ⊢ f : T ( x �∈ Γ) Γ , x : T ⊢ e : U x : T ∈ Γ Γ ⊢ x : T Γ ⊢ e f : U Γ ⊢ λx.e : T → U tc(G,var(X),T) :- mem((X,T),G). tc(G,app(E,F),U) :- tc(G,E,arr(T,U)), tc(G,F,T). tc(G,lam(x\E),arr(T,U)) :- x # G, tc([(x,T)|G],E,U). • Note that clauses and subgoals correspond exactly (read x # G as x �∈ Γ) 3

  4. Example • Large-step semantics for ML-like references: � M, e 1 � → � M ′ , a � � M ′ , e 2 � → � M ′′ , v � ( a ∈ Lab ) � M, e 1 := e 2 � → � M ′′ [ a := v ] , () � � M, a � → � M, a � � M, e � → � M ′ , a � � M, e � → � M ′ , v � ( a �∈ dom ( M ′ )) � M, ! e � → � M ′ , M ′ ( a ) � � M, ref e � → � M ′ [ a := v ] , a � • Interesting part: last rule requires fresh label for new memory cell 4

  5. Example • Large-step semantics for ML-like references: (M,lab(A)) ‘eval‘ (M,lab(A)). (M,assign(E1,E2)) ‘eval‘ (M3,unit) :- (M,E1) ‘eval‘ (M1,lab(A)), (M1, E2) ‘eval‘ (M2,V), update((A,V),M2,M3). (M,deref(E)) ‘eval‘ (M’,V) :- (M,E) ‘eval‘ (M’,lab(A)), mem((A,V),M’). (M,ref(E)) ‘eval‘ ([(a,V)|M’],lab(a)) :- (M,E) ‘eval‘ ,(M’,V), a#M’. • Interesting part: in last rule, name a is constrained to be sufficiently fresh 5

  6. Motivation (II) • Previous papers have considered differing operational, proof- theoretic, and denotational semantics separately... • This paper gives a unified presentation that ties them to- gether • Main contribution: Improved “uniform proof” semantics 6

  7. Notation Atoms/Names a , b ∈ A f, g ∈ FnSym Term symbols X, Y ∈ V ar Variables c | f ( � a, b, t, u ::= t ) | X First-order terms | � a � t | ( a b ) · t | a Nominal terms C ::= t ≈ u | a # t Equality, freshness Σ ::= · | Σ , X : τ | Σ# a : ν Contexts ::= Constraint sets ∇ · | ∇ , C Note: Contexts Σ# a have special meaning: name a cannot occur free in any variables in Σ. 7

  8. Ground swapping The result of applying a swapping ( b b ′ ) to a ground term is: ( b b ′ ) · a ( b b ′ )( a ) = ( b b ′ ) · c = c ( b b ′ ) · f ( � f (( b b ′ ) · t 1 , . . . , ( b b ′ ) · t n ) t ) = ( b b ′ ) · � a � t � ( b b ′ ) · a � ( b b ′ ) · t = where ( a = b ′ )  b   ( b b ′ )( a ) = b ′ ( a = b ) ( a � = b � = b ′ )  a  Note: In case of abstraction, no α -renaming is needed; swapping is intrinsically capture-avoiding! 8

  9. Ground freshness theory ( a � = b ) a # b Different names fresh a # c Anything fresh for constant a # t 1 · · · a # t n a # f ( � t ) Freshness ignores function symbols ( a � = b ) a # t a # � b � t Fresh if fresh for body a # � a � t Fresh if bound 9

  10. Ground equational theory  a ≈ a     c ≈ c      t 1 ≈ u 1 · · · t n ≈ u n  Standard equational rules f ( � t ) ≈ f ( � u )     t ≈ u     � a � t ≈ � a � u   ( a � = b ) a # u t ≈ ( a b ) · u � a � t ≈ � b � u α -equivalence for abstractions 10

  11. Don’t worry if that went by a little fast. The constraint theory is largely irrelevant to the rest of the talk. 11

  12. The -quantifier N • The semantics of the N -quantifier on ground formulas φ is as follows N a .φ ⇐ ⇒ � ( a b ) · φ for some b �∈ supp ( N a .φ ) � More generally, if a �∈ FN (Σ), Σ : ∇ � N ⇒ Σ# a : ∇ � φ a .φ ⇐ • Example: N a . N b . a # b � ∀ X. N a . a # X N a . ∀ X. a # X � � � 12

  13. Nominal logic goals and programs • Goal formulae and program clauses are of the form A | C | ⊤ | G ∧ G ′ | G ∨ G ′ | ∃ X.G | G ::= N a .G ::= N D A | ⊤ | D ∧ D | G ⊃ D | ∀ X.D | a .D • Note: We interpret a . ∀ � A : − B 1 , . . . , B n as N � X.B 1 ∧ · · · ∧ B n ⊃ A a = FN ( A, � B ) and � X = FV ( A, � where � B ). • Example: N a . ∀ G, E, T. a # G ∧ tc ([( a , T ) | G ] , E, U ) ⊃ tc ( G, λ ( � a � E ) , arr ( T, U )) 13

  14. Denotational semantics • Consider Herbrand (term) models only; a model is (essen- tially) a set S of atomic formulas. • Given program clause D , define one-step deduction operator T D thusly: T ⊤ ( S ) = S T A ( S ) = S ∪ A T D 1 ∧ D 2 ( S ) = T D 1 ( S ) ∪ T D 2 ( S ) � T D ( S ) if S � G T G ⊃ D ( S ) = S otherwise T ∀ X : σ.D ( S ) = � t : σ T D [ t/X ] ( S ) a : ν.D ( S ) = a .D ) T ( a b ) · D ( S ) T � N b : ν �∈ FN ( N 14

  15. Uniform/focused proofs • Define a proof theory that captures uniform (goal-directed) and atomic (program clause-directed) proofs • Σ : ∆; ∇ = ⇒ G : given program ∆, constraint ∇ implies G . • Σ : ∆; ∇ D − → A : given program ∆, constraint ∇ and program clause D immediately imply A . (“Focused” proofs) • Quantifier rules use constraints rather than substitutions. 15

  16. Goal-directed proofs Σ : ∇ � C ⇒ C con ⇒ ⊤ ⊤ R Σ : ∆; ∇ = Σ : ∆; ∇ = Σ : ∆; ∇ = Σ : ∆; ∇ = ⇒ G 1 ⇒ G 2 ∧ R Σ : ∆; ∇ = ⇒ G 1 ∧ G 2 Σ : ∆; ∇ = ⇒ G i ⇒ G 1 ∨ G 2 ∨ R i Σ : ∆; ∇ = Σ : ∇ � ∃ X.C Σ , X : ∆; ∇ , C = ⇒ G ∃ R Σ : ∆; ∇ = ⇒ ∃ X : σ.G Σ : ∇ � N Σ# a : ∆; ∇ , C = a .C ⇒ G N R Σ : ∆; ∇ = ⇒ N a : ν.G Σ : ∆; ∇ D − → A D ∈ ∆ sel Σ : ∆; ∇ = ⇒ A 16

  17. Atomic focused proofs Σ : ∆; ∇ D i Σ : ∇ � A ′ ∼ A − − → A hyp ∧ L i Σ : ∆; ∇ D 1 ∧ D 2 Σ : ∆; ∇ A ′ − → A − − − − − → A Σ : ∆; ∇ D − → A Σ : ∆; ∇ = ⇒ G ⊃ L Σ : ∆; ∇ G ⊃ D − − − → A Σ , X : ∆; ∇ , C D Σ : ∇ � ∃ X.C − → A ∀ L Σ : ∆; ∇ ∀ X : σ.D − − − − − → A Σ# a : ∆; ∇ , C D Σ : ∇ � N a .C − → A N L N a : ν.D Σ : ∆; ∇ − − − − − → A 17

  18. Comments • Most connective rules standard. • Quantifier rules use constraints rather than substitutions . More on this later. • Atomic formula rule ( hyp ) uses relation A ∼ A ′ rather than A ≈ A ′ . Technically, Σ : ∇ � A ∼ A ′ ⇐ ⇒ ∃ π. Σ : ∇ � π · A ≈ A ′ More on this later. 18

  19. Residuated proofs • Define a slight variant of proof theory that computes a suf- ficient constraint or goal • Σ : ∆ = ⇒ G \ C : given program ∆, G reduces to residual constraint C • Σ : ∆ D − → A \ G : atomic formula A reduces against focused program clause D to subgoal G • Rules not shown, straightforward. 19

  20. Operational semantics • Similar to [Darlington and Guo 1994]’s operational semantics ( B ) Σ � A, Γ | ∇� Σ � G, Γ | ∇� − → (if ∃ D ∈ ∆ . Σ : ∆ D → A \ G ) − ( C ) Σ � C, Γ | ∇� Σ � Γ | ∇ , C � − → ( ∇ , C consistent) ( ⊤ ) Σ �⊤ , Γ | ∇� − → Σ � Γ | ∇� ( ∧ ) Σ � G 1 ∧ G 2 , Γ | ∇� − → Σ � G 1 , G 2 , Γ | ∇� ( ∨ i ) Σ � G 1 ∨ G 2 , Γ | ∇� − → Σ � G i , Γ | ∇� ( ∃ ) Σ �∃ X : σ.G, Γ | ∇� − → Σ , X : σ � G, Γ | ∇� ( N ) Σ � N a : ν.G, Γ | ∇� − → Σ# a : ν � G, Γ | ∇� Most rules standard. 20

  21. Key results • Least Herbrand models of ∆ and least fixed points of T ∆ exist and equal. • Proof theoretic semantics sound and (weakly) complete wrt model theoretic semantics. • Operational semantics sound and complete wrt proof theory. • Spared details, outline in paper, full version forthcoming. 21

  22. Freshness rule • Previous proof theories for NL had a “freshness” rule. Σ# a : Γ ⇒ φ F Σ : Γ ⇒ φ ( a �∈ FN (Σ , Γ , φ )) • Complicates the proof theory since not goal-directed & can’t be permuted past ∃ R . For example, . . . a # b : · ⇒ a # b a # b : · ⇒ ∃ X. a # X ∃ R F a : · ⇒ ∃ X. a # X N R · : · ⇒ N a . ∃ X. a # X 22

  23. Previous solution • Previous solution [Gabbay & C 2004]: Change definition of uniform proof • “Bake in” applications of freshness rule to ∃ R Σ# � a ⊢ t : τ Σ# � a : Γ ⇒ G [ t/X ] ∃ R ∗ Σ : Γ ⇒ ∃ X τ .G • Messy (so hard to analyze), worse, unclear how to implement! 23

  24. New solution • Insight: ∃ X.G may hold only for X mentioning new names, but we don’t need to know them in the proof • New solution: Use constraints instead of substitutions in quantifier rules Σ : ∇ � ∃ X.C Σ , X : ∆; ∇ , C = ⇒ G ∃ R Σ : ∆; ∇ = ⇒ ∃ X.G • This pushes freshness reasoning into constraint solving; proof search reduces to constraint solving in a “goal-directed” way 24

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend