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

Re: Iterated Unequalities (fwd)



Andrzej Trybulec writes:

| The syntax proposed is rather
|       a < b
|       ... < c
| and "three dots" are already on mizar.doc, i.e. "..." is a reserved word
| for long time (however we want to use it not only for this purpose).
|
| Then, ".=" might be treated as a shorthand for "... =".
|
| BTW John Harrison alredy introduced such syntax in Mizar mode in HOL,
| as far as I know he did not know that we talk about doing the similar
| thing.

Yes, I'd just seen the ".=" in Mizar and thought that this was a natural
generalization. It surprised me to find that even the concrete syntax I
picked was already planned for in Mizar!

| It is easy to introduce new property of predicates: "transitivity"
| (again it is already reserved), and then allow for an iterated
| construction for the predicates with this property (like "<" or "c=")
| but it is more difficult to find out an analogue for the "One Difference 
| Rule". Perhaps we should have a property "monotonicity" ? But then
| we hove no experience with "properties" related to two different
| constructors (like "distributivity").

This is about what I do; the HOL-Mizar implementation maintains a set of
transitivity theorems which the user can augment for any potentially
interesting operators like c= or <=. These can involve several operators,
e.g.

  a <= b & b <= c implies a <= c
 
  a <= b & b < c implies a < c

  a < b & b <= c implies a < c

  a < b & b < c implies a < c

The system automatically creates appropriate theorems to allow one to mix
in equality, e.g.

  a = b & b < c implies a < c

Thus one can write quite long heterogeneous chains like:

 e1  <= e2      by reason1
 ... <= e3      by reason2
 ... =  e4      by reason3
 ... <  e5      by reason4
 ... =  e6      by reason5

and this results in the eventual theorem e1 < e6. However, one of Mizar's
greatest strengths is its declarative proof style, and the above doesn't
quite fit, in that the eventual relation "<" appears by magic rather than 
being declared in the proof. 

The problems of proving the intermediate results efficiently is another 
matter, of course. 

John.