I agree with Norm.  I think the current definitions (df-opab, df-ral...) 
are simple and consistent, and the changes proposed by Mario, if needed for 
the translation, should be done by the translation engine.

As for df-ral, yes, the current definition of "A. x e. A ph" will bind 
occurrences of x in A, and I think this makes it syntactically simpler, 
with nothing hidden.  Most often, we do not want x to appear in A, but it 
looks like with Mario's proposal
  df-ral2 $a |- ( A. x e. A ph <-> A. y ( y e. A -> [ y / x ] ph ) ) $.
if one uses an A containing occurences of x, the "machine" says "oh, you 
inadvertently used an A containing x, let me free the occurrences of x in A 
for you".  The machine means well, but this looks like a hidden mechanism, 
and indeed it may cause much confusion.  Additionally, df-ral2 is much 
harder to understand than df-ral.

By the way, since we want to avoid as much as possible using df-ral with A 
containing x, what do you think of:
  $( ...  Use ~ dfral whenever possible.  (New usage is discouraged.) $)
  df-ral $a |- ( A. x e. A ph <-> A. x ( x e. A -> ph ) ) $.
  ${ $d x A $.  dfral $p |- ( A. x e. A ph <-> A. x ( x e. A -> ph ) ) $= ? 
$. $}

A side question about Mario's proposal
  df-opab3 $a |- { <. x , y >. | ph } = { z | E. x E. w ( z = <. x , w >. 
/\ [ w / y ] ph ) } $.
It looks to me that this is incorrect: an instance of it is
  |- { <. x , x >. | x = 2 } = { z | E. x E. w ( z = <. x , w >. /\ [ w / x 
] x = 2 ) }
which yields, if I'm not mistaken,
  |- { <. x , x >. | x = 2 } = { z | E. x z = <. x , 2 >. }
which is clearly false.

Benoit

-- 
You received this message because you are subscribed to the Google Groups 
"Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/metamath/8f3b6b89-152d-4f0d-9a96-385c4ab4e6ca%40googlegroups.com.

Reply via email to