Option.v



Mutual Inductive Option[A:Set]: Set :=
     Some: (x:A)(
Option A)
    | None: (Option A) .



Theorem SomeComp: (A:Set) (a, b:A) a=b ->(Some A a)=(Some A b).
Intros A a b H'; Rewrite H'; Auto.
Qed.
Hints Resolve
SomeComp.

Inductive eqOption[A:Set; eq:A -> A ->Prop]:
   (
Option A) -> (Option A) ->Prop :=
   eqOptionSome:
     (a, b:A) (eq a b) ->(eqOption A eq (Some A a) (Some A b))
  | eqOptionNone: (eqOption A eq (None A) (None A)).
Hints Resolve eqOptionSome eqOptionNone.


28/01/99, 14:29