[Date Prev][Date Next] [Chronological] [Thread] [Top]

[no subject]



A modification of the language is proposed: to allow only for Proof
in the justification of a Scheme.

Arguments:

Pro:

A simple justification of a scheme looks awful:

scheme UI1{x1()->set,P[set]}:
  P[x1()]
provided a1: for x1 holds P[x1] by a1;

It looks rather as a justification of the premise a1. With a proof
it looks nicer:

scheme UI1{x1()->set,P[set]}:
  P[x1()]
provided a1: for x1 holds P[x1]
 proof thus thesis by a1; end;

Contra:

1. Articles become longer.
2. Grammar is less regular.

ad 1
 Schemes with the justification other than a proof are very rare and
 not very useful. As far as I know they occur in ENUMSET1 and SCHEMS_1.
 Schemes proved in SCHEMS_1 are nowhere used. Schemes proved
 in ENUMSET1 are used in some articles but only because the implementation
 of the checker is not efficient (the logical power of the checker is
 sufficient to avoid the use of these schemes).

 Moreover, if the justification by proof is obligatory then we may allow
 for omitting the word "proof", i.e. syntax like

scheme UI1{x1()->set,P[set]}:
  P[x1()]
provided a1: for x1 holds P[x1];
 thus thesis by a1;
end;

ad 2
 The argument is more serious. However similar restrictions are already
 used, in some places justification by proof is not allowed:
 (in Iterative Equality, the justification of "per cases", the justification
  of Choice Statement and Type Changing Statement must be Simple
  Justification)


Any comment ?

Andrzej Trybulec