Relating Reasoning Methodologies in Linear Logic and Process Algebra Yuxin Deng Iliano Cervesato Robert J. Simmons Jiao Tong University Carnegie Mellon University Carnegie Mellon University Shanghai Qatar Pittsburgh Linearity 2012 Tallinn, Estonia – 1 April 2012
Worlds Apart Logic Process Algebra • Mechanisms • Mechanisms ABOUT WITH Derivability Reduction Reasoning Search Structural equivalence Cut-elimination Invertibility • Methods Observational equivalence • Methods Testing Structural induction Simulation Logical equivalence Bisimulation Inductive Co-inductive
Related Work – PA vs. Logic • Encodings Long history back to the Chemical Abstract Machine • Reasoning Reasoning with logic to reason about PA Miller, 1992: Fragment of LL used to observe traces Lincoln & Saraswat, 1991: Γ |- ∆ understood as process Γ passing test ∆ McDowell, Miller & Palamidessi, 2003: LL + definitions to express simulation as derivability Tiu & Miller, 2004: Nominal logic to capture bisimulation
This work Explore one relationship between methods to reason about logic – Inductive reason about process algebra – Co-inductive … very initial steps • Motivations Growing interest in using logic for concurrency Use co-inductive reasoning in logic CLF
Outline ( Γ ’; ∆ ’) ≤ l ( Γ ; ∆ ) Logical Preorder ( Γ ’; ∆ ’) ≤ s ( Γ ; ∆ ) Simulation Preorder ( Γ ’; ∆ ’) ≤ c ( Γ ; ∆ ) Contextual Preorder
( Γ ’; ∆ ’) ≤ l ( Γ ; ∆ ) Logical Preorder ( Γ ’; ∆ ’) ≤ s ( Γ ; ∆ ) Simulation Preorder ( Γ ’; ∆ ’) ≤ c ( Γ ; ∆ ) Contextual Preorder
Our Linear Logic A ::= a | 1 | A ⊗ B | T | A & B | a –o B | !A Γ ; ∆ |- A Γ ; ⋅ |- A Γ ,A; ∆ |- C Γ ,A; ∆ ,A |- C … Γ ; a |- a Γ ; ⋅ |- !A Γ ; ∆ ,!A |- C Γ ,A; ∆ |- C
Logical Preorder – ≤ l ( Γ 1 ; ∆ 1 ) ≤ l ( Γ 2 ; ∆ 2 ) iff for all ( Γ ; ∆ ) and C, ( Γ 1 , Γ ); ( ∆ 1 , ∆ ) |- C implies ( Γ 2 , Γ ); ( ∆ 2 , ∆ ) |- C ⊇ ( Γ ; ∆ ) ( Γ ; ∆ ) Prop Prop ( Γ 1 ; ∆ 1 ) ( Γ 2 ; ∆ 2 ) ( Γ 1 ; ∆ 1 ) ≤ l ( Γ 2 ; ∆ 2 ) iff Γ 2 ; ∆ 2 |- ⊗ ! Γ 1 ⊗ ⊗ ∆ 1 Inductive!
( Γ ’; ∆ ’) ≤ l ( Γ ; ∆ ) Logical Preorder ( Γ ’; ∆ ’) ≤ s ( Γ ; ∆ ) Simulation Preorder ( Γ ’; ∆ ’) ≤ c ( Γ ; ∆ ) Contextual Preorder
Process-as-Formula Interpretation Transitions • a send The left rules of LL • ( Γ ; ∆ , 1) → ( Γ ; ∆ ) • 1 null • A ⊗ B • ( Γ ; ∆ , A ⊗ B) → ( Γ ; ∆ , A, B) fork • T stuck • (none) • ( Γ ; ∆ , A 1 & A 2 ) → ( Γ ; ∆ , A i ) • A & B choice • ( Γ ; ∆ , a, a –o B) → ( Γ ; ∆ , B) • a –o B receive • ( Γ ; ∆ ,!A) → ( Γ ,A; ∆ ) • !A replicate • ( Γ , A; ∆ ) → ( Γ , A; ∆ , A) Reduction-as-Search
Towards a Contextual Preorder Reduction closed Barb preserving ℜ ℜ a ↓ ∗ ↓ ↓ ∗ ℜ a ℜ Compositional ℜ Partition preserving ↓ ∗ ℜ ℜ ℜ
Contextual Preorder – ≤ c The largest ℜ with these properties Symmetric closure is contextual congruence AKA reduction barbed congruence • Co-inductive ≤ c is a preorder
( Γ ’; ∆ ’) ≤ l ( Γ ; ∆ ) Logical Preorder ( Γ ’; ∆ ’) ≤ s ( Γ ; ∆ ) Simulation Preorder ( Γ ’; ∆ ’) ≤ c ( Γ ; ∆ ) Contextual Preorder
A Labeled Transition System α ( Γ ; ∆ ) → ( Γ ’; ∆ ’) ( Γ ; ∆ , a) → ( Γ ; ∆ ) ( Γ ; ∆ , a –o B) → ( Γ ; ∆ , B) !a ?a !a ?a → → τ → … • Capture the other left rules τ ( Γ ; ∆ , 1) → ( Γ ; ∆ )
Towards a Simulation Preorder ℜ ℜ τ -step closed !-step closed ↓ τ ↓ ∗ τ ↓ ↓ ∗ !a !a ℜ ℜ ℜ Partition preserving ℜ ?-step closed +a ↓ ?a ↓ ∗ τ ↓ ∗ τ ℜ ℜ ℜ
Simulation Preorder – ≤ s The largest ℜ with these properties • Co-inductive ≤ s is a preorder ≤ s is compositional ≤ s ≤ s
( Γ ’; ∆ ’) ≤ l ( Γ ; ∆ ) Logical Preorder ( Γ ’; ∆ ’) ≤ s ( Γ ; ∆ ) Simulation Preorder ( Γ ’; ∆ ’) ≤ c ( Γ ; ∆ ) Contextual Preorder
≤ l ≤ s ≤ l ≤ s ≤ l ≤ s • Chaining of inductive results • Co-inductive parts |- to ≤ s ≤ s to |- Inductive definition of ≤ l • Inductive parts • Rather involved Transitive closures Weak-head reduction • Also complex |- A iff (⋅ ; A ) ≤ s
( Γ ’; ∆ ’) ≤ l ( Γ ; ∆ ) Logical Preorder ( Γ ’; ∆ ’) ≤ s ( Γ ; ∆ ) Simulation Preorder ( Γ ’; ∆ ’) ≤ c ( Γ ; ∆ ) Contextual Preorder
≤ s ≤ c ≤ s ≤ c ≤ s ≤ c • Relatively simple • Direct co-inductive proof Also rather simple • Mainly co-inductive • Uses a few lemmas Compositionality Some co-inductive • Specific inductive parts Other inductive Transitive closure τ → ∗ iff → ∗
What’s Next • Extend results to general implication: A –o B Special cases in join calculus Largely beyond traditional PA quantifiers: ∀ x. A, ∃ x. A Special cases in π -calculus • Go beyond preorder • Implement co-inductive reasoning within CLF A framework to reason about concurrent languages
Thank you! Questions?
Recommend
More recommend