0

Let's assume we have such variant of Modus Ponens

lemma invDed: ‹(A-->B)==>(A==>B)›
  apply(rule mp)
  apply assumption
  apply assumption
  done

Can it be applied for proving the theorem? (I mean A:=A, B:=A, and A-->A we use as if it was previously proved)

lemma myid2: "A==>A"

If not, why? I know several other ways to prove this theorem("apply assumption" or 5-step proof from Frege's propositional calculus axioms.), but I interested in this nuance of proof mechanics.

i have one rule, now I want obtain an another [admissible] rule, what's problem?

ged
  • 687
  • 7
  • 19

1 Answers1

0

Application with rule only applies to the formula after the rightmost meta implication (==>). So you would get something like the following, which is not very helpful:

lemma myid2: "A==>A"
proof (rule invDed[where A=A and B=A])
  show "A ⟹ A ⟶ A"
    by (rule imp_refl)
  show "A ⟹ A"
    by assumption
qed

If you rotate your premises (done below with the [rotated] modifier) to have A==>(A-->B)==>(B), then you can apply it with erule:

lemma myid2: "A==>A"
  apply (erule invDed[rotated])
  apply (rule imp_refl)
  done
Peter Zeller
  • 2,245
  • 19
  • 23