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
[email protected]
https://lists.sourceforge.net/lists/listinfo/hol-info