Hi,

I have a question,
What tactic I should use to solve this problem?

!s0. flipslv (flipslv (Next s0 x)) = Next s0 x
----------------------------------------------
x. flipslv (flipslv x) = x

The flipslv function is just simply reverses x which is a slv datatype.

The datatype declaration is written as bellow:
val _ = Hol_datatype`
   slv = Single of stdl
        | Next of stdl => slv
`;

And I also have this definitions before:
val flipnext_def = Define `(flipnext (Next a b) c = flipnext b (Next a 
c))
                        /\ (flipnext (Single a) c = Next a c)`;

val flipslv_def = Define `(flipslv (Next a b) = flipnext b (Single a))
                        /\ (flipslv (Single a) = (Single a))`;


I think the pattern has matched (by replace "x" with "Next s0 x"), but I 
don't know how to do. Could anyone help me?
Thank you.


-- 
Dwi Teguh Priyantini
Fasilkom UI - 1506782322

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to