*To*: Peter Lammich <lammich at in.tum.de>*Subject*: Re: [isabelle] Transitivity reasoning in Isar with \ge*From*: Johannes Hoelzl <hoelzl at in.tum.de>*Date*: Sat, 10 Sep 2011 15:12:51 +0200 (CEST)*Cc*: isabelle-users <isabelle-users at cl.cam.ac.uk>*In-reply-to*: <4E6A0A89.7000900@in.tum.de>*References*: <4E6A0A89.7000900@in.tum.de>*User-agent*: Alpine 2.00 (LNX 1167 2008-08-23)

Hi Peter, for such reasoning the xtrans rules are used. You find the following comment in ~~/src/HOL/Orderings.thy. Here they use the (is _) keyword to introduce ?rhs as abbreviation instead of "...", How would you extend ... to work here? (* Since "a >= b" abbreviates "b <= a", the abbreviation "..." stands for the wrong thing in an Isar proof. The extra transitivity rules can be used as follows: lemma "(a::'a::order) > z" proof - have "a >= b" (is "_ >= ?rhs") sorry also have "?rhs >= c" (is "_ >= ?rhs") sorry also (xtrans) have "?rhs = d" (is "_ = ?rhs") sorry also (xtrans) have "?rhs >= e" (is "_ >= ?rhs") sorry also (xtrans) have "?rhs > f" (is "_ > ?rhs") sorry also (xtrans) have "?rhs > z" sorry finally (xtrans) show ?thesis . qed Alternatively, one can use "declare xtrans [trans]" and then leave out the "(xtrans)" above. *) Greetings, Johannes On Fri, 9 Sep 2011, Peter Lammich wrote:

Hi all, I just wondered if it is possible to use the Isar-style transitivity reasoning with \ge, i.e. note `a\ge b` also note `... \ge c` finally have "a\ge c" Currently, this does not work for two reasons: First, \ge is syntactically translated to \le, before " ... " is matched, and, second, there is no "swapped" transitivity rule set up as [trans]. The second can be fixed by adding such a rule: lemma [trans]: "a\<ge>b \<Longrightarrow> b\<ge>c \<Longrightarrow> a\<ge>(c::'a::order)" by (rule order_trans_rules) Should this be included into the standard setup of the transitivity reasoner? any ideas wether it is possible to extend the behaviour of "..." to also work with \ge? Best, Peter

**References**:**[isabelle] Transitivity reasoning in Isar with \ge***From:*Peter Lammich

- Previous by Date: Re: [isabelle] code generation for saturated naturals
- Next by Date: [isabelle] Binary tree exercise
- Previous by Thread: [isabelle] Transitivity reasoning in Isar with \ge
- Next by Thread: Re: [isabelle] Transitivity reasoning in Isar with \ge
- Cl-isabelle-users September 2011 archives indexes sorted by: [ thread ] [ subject ] [ author ] [ date ]
- Cl-isabelle-users list archive Table of Contents
- More information about the Cl-isabelle-users mailing list