computer supported modeling and reasoning
play

Computer Supported Modeling and Reasoning David Basin, Achim D. - PowerPoint PPT Presentation

Computer Supported Modeling and Reasoning David Basin, Achim D. Brucker, Jan-Georg Smaus, and Burkhart Wolff April 2005 http://www.infsec.ethz.ch/education/permanent/csmr/ Isabelle: Term Rewriting Burkhart Wolff Isabelle: Term Rewriting 555


  1. Computer Supported Modeling and Reasoning David Basin, Achim D. Brucker, Jan-Georg Smaus, and Burkhart Wolff April 2005 http://www.infsec.ethz.ch/education/permanent/csmr/

  2. Isabelle: Term Rewriting Burkhart Wolff

  3. Isabelle: Term Rewriting 555 Outline of this Part • Higher-order rewriting • Extensions: Ordered, pattern, congruence, splitting rewriting • Organizing simplification rules In this context, a term is a λ -term, since we use the λ -calculus to encode object logics. Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  4. Higher-Order Rewriting 556 Higher-Order Rewriting Motivation: • Simplification is a very important part of deduction, e.g.: 0 + ( x + 0) = x [ a, b, d ] @ [ a, b ] = [ a, b, d, a, b ] • Based on rewrite rules as in functional programming: x + 0 = x, 0 + x = x [] @ X = X, ( x :: X ) @ Y = x :: ( X @ Y ) Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  5. Higher-Order Rewriting 557 Term Rewriting: Foundation • Recall: An equational theory consists of rules x = y x = y y = z sym trans refl x = x y = x x = z x = y P ( x ) subst P ( y ) • plus additional (possibly conditional) rules of the form φ 1 = ψ 1 , . . . , φ n = ψ n ⇒ φ = ψ . The additional rules can be interpreted as rewrite rules, i.e. they are applied from left to right. Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  6. Higher-Order Rewriting 558 Algorithm simplify R • We assume a rule set R • An equation is solved if it has the form e = e Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  7. Higher-Order Rewriting 558 Algorithm simplify R • We assume a rule set R • An equation is solved if it has the form e = e • An equation is simplified by: simplify R ( e = e ′ ) = > repeat (a) pick terms h and t such that ( e = e ′ ) ≡ h ( t ) Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  8. Higher-Order Rewriting 558 Algorithm simplify R • We assume a rule set R • An equation is solved if it has the form e = e • An equation is simplified by: simplify R ( e = e ′ ) = > repeat (a) pick terms h and t such that ( e = e ′ ) ≡ h ( t ) (b) pick a rewrite rule φ 1 = ψ 1 , . . . , φ n = ψ n = ⇒ φ = ψ from R , match (unify) φ against t , i.e., find θ such that φθ = t Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  9. Higher-Order Rewriting 558 Algorithm simplify R • We assume a rule set R • An equation is solved if it has the form e = e • An equation is simplified by: simplify R ( e = e ′ ) = > repeat (a) pick terms h and t such that ( e = e ′ ) ≡ h ( t ) (b) pick a rewrite rule φ 1 = ψ 1 , . . . , φ n = ψ n = ⇒ φ = ψ from R , match (unify) φ against t , i.e., find θ such that φθ = t (c) replace e = e ′ by h ( ψθ ) provided all simplify (( φ i = ψ i ) θ ) are solved for all i ∈ { 1 ..n } Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  10. Higher-Order Rewriting 558 Algorithm simplify R • We assume a rule set R • An equation is solved if it has the form e = e • An equation is simplified by: simplify R ( e = e ′ ) = > repeat (a) pick terms h and t such that ( e = e ′ ) ≡ h ( t ) (b) pick a rewrite rule φ 1 = ψ 1 , . . . , φ n = ψ n = ⇒ φ = ψ from R , match (unify) φ against t , i.e., find θ such that φθ = t (c) replace e = e ′ by h ( ψθ ) provided all simplify (( φ i = ψ i ) θ ) are solved for all i ∈ { 1 ..n } until no replacement possible, return current e = e ′ Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  11. Higher-Order Rewriting 558 Algorithm simplify R • We assume a rule set R • An equation is solved if it has the form e = e • An equation is simplified by: simplify R ( e = e ′ ) = > repeat (a) pick terms h and t such that ( e = e ′ ) ≡ h ( t ) (b) pick a rewrite rule φ 1 = ψ 1 , . . . , φ n = ψ n = ⇒ φ = ψ from R , match (unify) φ against t , i.e., find θ such that φθ = t (c) replace e = e ′ by h ( ψθ ) provided all simplify (( φ i = ψ i ) θ ) are solved for all i ∈ { 1 ..n } until no replacement possible, return current e = e ′ Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  12. Higher-Order Rewriting 559 Problems with simplify • This algorithm may fail because: ◦ it diverges (the rules are not terminating), e.g. x + y = y + x or x = y = ⇒ x = y ; Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  13. Higher-Order Rewriting 559 Problems with simplify • This algorithm may fail because: ◦ it diverges (the rules are not terminating), e.g. x + y = y + x or x = y = ⇒ x = y ; ◦ rewriting does not yield a unique normal form (the rules are not confluent), e.g. rules a = b , a = c . Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  14. Higher-Order Rewriting 559 Problems with simplify • This algorithm may fail because: ◦ it diverges (the rules are not terminating), e.g. x + y = y + x or x = y = ⇒ x = y ; ◦ rewriting does not yield a unique normal form (the rules are not confluent), e.g. rules a = b , a = c . • Providing criteria for terminating and confluent rule sets R is an active research area (see [BN98, Klo93], RTA, . . . ). Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  15. Extensions of Rewriting 560 Extensions of Rewriting • Symmetric rules are problematic, e.g. ACI: ( x + y ) + z = x + ( y + z ) (A) x + y = y + x (C) x + x = x (I) Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  16. Extensions of Rewriting 560 Extensions of Rewriting • Symmetric rules are problematic, e.g. ACI: ( x + y ) + z = x + ( y + z ) (A) x + y = y + x (C) x + x = x (I) • Idea: apply only if replaced term gets smaller w.r.t. some term ordering. In example, if y + xθ is smaller than x + yθ . • Ordered rewriting solves rewriting modulo ACI, using derived rules (exercise). Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  17. Extensions of Rewriting 561 Extension: HO-Pattern Rewriting Rules such as F ( G c ) = . . . lead to highly ambiguous matching and hence inefficiency. Solution: restrict l.h.s. of a rule to higher-order patterns. Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  18. Extensions of Rewriting 561 Extension: HO-Pattern Rewriting Rules such as F ( G c ) = . . . lead to highly ambiguous matching and hence inefficiency. Solution: restrict l.h.s. of a rule to higher-order patterns. A term t is a HO-pattern if • it is in β -normal form; and • any free F in t occurs in a subterm F x 1 . . . x n where the x i are η -equivalent to distinct bound variables. Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  19. Extensions of Rewriting 561 Extension: HO-Pattern Rewriting Rules such as F ( G c ) = . . . lead to highly ambiguous matching and hence inefficiency. Solution: restrict l.h.s. of a rule to higher-order patterns. A term t is a HO-pattern if • it is in β -normal form; and • any free F in t occurs in a subterm F x 1 . . . x n where the x i are η -equivalent to distinct bound variables. Matching (unification) is decidable, unitary (’unique’) and efficient algorithms exist. Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  20. Extensions of Rewriting 562 HO-Pattern Rewriting (Cont.) A rule . . . ⇒ φ = ψ is a HO-pattern rule if: • the left-hand side φ is a HO-pattern; • all free variables in ψ occur also in φ ; and • φ is constant-head, i.e. of the form λx 1 ..x m .c p 1 . . . p n (where c is a constant, m ≥ 0 , n ≥ 0 ). Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  21. Extensions of Rewriting 562 HO-Pattern Rewriting (Cont.) A rule . . . ⇒ φ = ψ is a HO-pattern rule if: • the left-hand side φ is a HO-pattern; • all free variables in ψ occur also in φ ; and • φ is constant-head, i.e. of the form λx 1 ..x m .c p 1 . . . p n (where c is a constant, m ≥ 0 , n ≥ 0 ). Example: ( ∀ x.Px ∧ Qx ) = ( ∀ x.Px ) ∧ ( ∀ x.Qx ) Result: HO-pattern allows for very effective quantifier reasoning. Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

  22. Extensions of Rewriting 563 Extension: Congruence Rewriting Problem : if A then P else Q = if A then P ′ else Q where P = P ′ under condition A is not a rule. Solution in Isabelle: explicitely admit this extra class of rules (congruence rules) ⇒ P = P ′ ] [ [ A = ] = ⇒ if A then P else Q = if A then P ′ else Q Wolff: Isabelle: Term Rewriting; http://www.infsec.ethz.ch/education/permanent/csmr/ (rev. 16802)

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