src/HOLCF/Discrete0.ML
changeset 3018 e65b60b28341
parent 2841 c2508f4ab739
child 3323 194ae2e0c193
equal deleted inserted replaced
3017:84c2178db936 3018:e65b60b28341
     5 
     5 
     6 Proves that 'a discr is a po
     6 Proves that 'a discr is a po
     7 *)
     7 *)
     8 
     8 
     9 goalw thy [less_discr_def] "less (x::('a::term)discr) x";
     9 goalw thy [less_discr_def] "less (x::('a::term)discr) x";
    10 br refl 1;
    10 by (rtac refl 1);
    11 qed "less_discr_refl";
    11 qed "less_discr_refl";
    12 
    12 
    13 goalw thy [less_discr_def]
    13 goalw thy [less_discr_def]
    14   "!!x. [| less (x::('a::term)discr) y; less y z |] ==> less x z";
    14   "!!x. [| less (x::('a::term)discr) y; less y z |] ==> less x z";
    15 be trans 1;
    15 by (etac trans 1);
    16 ba 1;
    16 by (assume_tac 1);
    17 qed "less_discr_trans";
    17 qed "less_discr_trans";
    18 
    18 
    19 goalw thy [less_discr_def]
    19 goalw thy [less_discr_def]
    20   "!!x. [| less (x::('a::term)discr) y; less y x |] ==> x=y";
    20   "!!x. [| less (x::('a::term)discr) y; less y x |] ==> x=y";
    21 ba 1;
    21 by (assume_tac 1);
    22 qed "less_discr_antisym";
    22 qed "less_discr_antisym";