[Logiweb] "Repetition" & Macro definitions & Error message
Klaus Ebbe Grue
grue at diku.dk
Sat May 6 22:28:59 CEST 2006
Hi Frederik
> 1. I'm currently working with an axiomatic system which looks a lot like
> system S from Klaus Grue's ijcar-article
> (http://www.diku.dk/~grue/logiweb/20060417/home/grue/ijcar). The only
> difference is that I've replaced the axiom called Neg with axiom A3 from
> Mendelson. In the article, Klaus proves the lemma "Repetition" (i.e. A
>> - A) using a low-level hack which I haven't quite understood (as yet).
> Is there another, more neat way to prove "Repetition"?
I don't know of a neat way if neat means 'expressed the usual way'.
The proof I give uses the raw sequent operators. A^I is the identitity
sequent operator applied to A which yields A|-A. The Pi operator expresses
meta-generalization and changes A|-A to Pi A:A|-A which is the repetition
lemma.
> 2. Suppose you have macro defined "A ^ B" as "~(A => ~B)". When you're
> writing a proof of, say, the lemma (A ^B |- A), you may want to write a proof
> line saying "A ^ B really means ~(A=>~B)" in order to make things clearer for
> the human reader. Is there a way to do this?
Yes. Use repetition! As an example:
L01: Premise >> A ^ B;
L02: Repetition |> L01 >> ~(A=>~B);
...
Proofs are checked *after* macro expansion, and after macro expansion, L01
and L02 above are identical, so the latter follows from the former by
repetition.
> 3. In one of my proofs I get the error message "Metageneralization over
> metavariable that occurs free in some premise". What does this mean? (I've
> made the faulty page accessible on "user eriksen"s home page under the name
> of "frozen").
The lemma and proof read:
Lemma Technicality: Pi A,B: A => B |- ~ ~ A => B
Proof of Techincality:
L01: Arbitrary >> A,B;
L02: Premise >> A => B;
L03: Block >> Begin;
L04: Arbitrary >> A,B;
L05: Premise >> ~ ~ A;
L06: RemoveDoubleNeg |> L05 >> A;
L07: MP |> L02 |> L06 >> B;
L08: Block >> End;
L09: Ded |> L08 >> ~ ~ A => B
The problem is in L04. 'Arbitrary A,B' is a meta-generalization over A and
B. But A and B occur free in the premise in L02. That is what the system
complains about.
At the semantic level, the proof says:
L01: Let A and B be arbitrary terms;
L02: Assume A => B;
L04: Now let A and B be two arbitrary terms that have no connection with
the ones called A and B in L01;
L05: Assume ~ ~ A;
L06: Remove double negation: A;
L07: From L02 and L06 we have B;
At the semantic level it would be more reasonable to say that the error
is in line L07 where A => B from L02 is combined with A from L06 even
though the two A's are unrelated.
Finally, how to correct the proof? Try removing L04! Then the A in L05-L07
is the same as the one in L01-L02. And similarly for B. I hope it works.
Otherwise I have to correct Ded.
-Klaus
More information about the Logiweb
mailing list