parse_ipv6_address_compressed_someE: fixes as :: "16 word option list"   and ipv6 :: "ipv6addr_syntax_compressed" assumes "parse_ipv6_address_compressed as = Some ipv6" obtains "as = [None]" and "ipv6 = IPv6AddrCompressed1_0 ()"   | a :: "16 word" where "as = [None, Some aa__]" and "ipv6 = IPv6AddrCompressed1_1 () aa__"   | a :: "16 word" and b :: "16 word" where "as = [None, Some ab__, Some ba__]" and "ipv6 = IPv6AddrCompressed1_2 () ab__ ba__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" where "as = [None, Some ac__, Some bb__, Some ca__]" and "ipv6 = IPv6AddrCompressed1_3 () ac__ bb__ ca__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" where "as = [None, Some ad__, Some bc__, Some cb__, Some da__]" and "ipv6 = IPv6AddrCompressed1_4 () ad__ bc__ cb__ da__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" where "as = [None, Some ae__, Some bd__, Some cc__, Some db__, Some ea__]" and "ipv6 = IPv6AddrCompressed1_5 () ae__ bd__ cc__ db__ ea__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" where "as = [None, Some af__, Some be__, Some cd__, Some dc__, Some eb__, Some fa__]" and "ipv6 = IPv6AddrCompressed1_6 () af__ be__ cd__ dc__ eb__ fa__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" and g :: "16 word" where "as = [None, Some ag__, Some bf__, Some ce__, Some dd__, Some ec__, Some fb__, Some ga__]" and "ipv6 = IPv6AddrCompressed1_7 () ag__ bf__ ce__ dd__ ec__ fb__ ga__"   | a :: "16 word" where "as = [Some ah__, None]" and "ipv6 = IPv6AddrCompressed2_1 ah__ ()"   | a :: "16 word" and b :: "16 word" where "as = [Some ai__, None, Some bg__]" and "ipv6 = IPv6AddrCompressed2_2 ai__ () bg__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" where "as = [Some aj__, None, Some bh__, Some cf__]" and "ipv6 = IPv6AddrCompressed2_3 aj__ () bh__ cf__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" where "as = [Some ak__, None, Some bi__, Some cg__, Some de__]" and "ipv6 = IPv6AddrCompressed2_4 ak__ () bi__ cg__ de__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" where "as = [Some al__, None, Some bj__, Some ch__, Some df__, Some ed__]" and "ipv6 = IPv6AddrCompressed2_5 al__ () bj__ ch__ df__ ed__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" where "as = [Some am__, None, Some bk__, Some ci__, Some dg__, Some ee__, Some fc__]" and "ipv6 = IPv6AddrCompressed2_6 am__ () bk__ ci__ dg__ ee__ fc__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" and g :: "16 word" where "as = [Some an__, None, Some bl__, Some cj__, Some dh__, Some ef__, Some fd__, Some gb__]" and "ipv6 = IPv6AddrCompressed2_7 an__ () bl__ cj__ dh__ ef__ fd__ gb__"   | a :: "16 word" and b :: "16 word" where "as = [Some ao__, Some bm__, None]" and "ipv6 = IPv6AddrCompressed3_2 ao__ bm__ ()"   | a :: "16 word" and b :: "16 word" and c :: "16 word" where "as = [Some ap__, Some bn__, None, Some ck__]" and "ipv6 = IPv6AddrCompressed3_3 ap__ bn__ () ck__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" where "as = [Some aq__, Some bo__, None, Some cl__, Some di__]" and "ipv6 = IPv6AddrCompressed3_4 aq__ bo__ () cl__ di__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" where "as = [Some ar__, Some bp__, None, Some cm__, Some dj__, Some eg__]" and "ipv6 = IPv6AddrCompressed3_5 ar__ bp__ () cm__ dj__ eg__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" where "as = [Some at__, Some bq__, None, Some cn__, Some dk__, Some eh__, Some fe__]" and "ipv6 = IPv6AddrCompressed3_6 at__ bq__ () cn__ dk__ eh__ fe__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" and g :: "16 word" where "as = [Some au__, Some br__, None, Some co__, Some dl__, Some ei__, Some ff__, Some gc__]" and "ipv6 = IPv6AddrCompressed3_7 au__ br__ () co__ dl__ ei__ ff__ gc__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" where "as = [Some av__, Some bs__, Some cp__, None]" and "ipv6 = IPv6AddrCompressed4_3 av__ bs__ cp__ ()"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" where "as = [Some aw__, Some bt__, Some cq__, None, Some dm__]" and "ipv6 = IPv6AddrCompressed4_4 aw__ bt__ cq__ () dm__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" where "as = [Some ax__, Some bu__, Some cr__, None, Some dn__, Some ej__]" and "ipv6 = IPv6AddrCompressed4_5 ax__ bu__ cr__ () dn__ ej__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" where "as = [Some ay__, Some bv__, Some cs__, None, Some do__, Some ek__, Some fg__]" and "ipv6 = IPv6AddrCompressed4_6 ay__ bv__ cs__ () do__ ek__ fg__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" and g :: "16 word" where "as = [Some az__, Some bw__, Some ct__, None, Some dp__, Some el__, Some fh__, Some gd__]" and "ipv6 = IPv6AddrCompressed4_7 az__ bw__ ct__ () dp__ el__ fh__ gd__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" where "as = [Some bx__, Some by__, Some cu__, Some dq__, None]" and "ipv6 = IPv6AddrCompressed5_4 bx__ by__ cu__ dq__ ()"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" where "as = [Some bz__, Some cv__, Some cw__, Some dr__, None, Some em__]" and "ipv6 = IPv6AddrCompressed5_5 bz__ cv__ cw__ dr__ () em__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" where "as = [Some cx__, Some cy__, Some cz__, Some ds__, None, Some en__, Some fi__]" and "ipv6 = IPv6AddrCompressed5_6 cx__ cy__ cz__ ds__ () en__ fi__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" and g :: "16 word" where "as = [Some dt__, Some du__, Some dv__, Some dw__, None, Some eo__, Some fj__, Some ge__]" and "ipv6 = IPv6AddrCompressed5_7 dt__ du__ dv__ dw__ () eo__ fj__ ge__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" where "as = [Some dx__, Some dy__, Some dz__, Some ep__, Some eq__, None]" and "ipv6 = IPv6AddrCompressed6_5 dx__ dy__ dz__ ep__ eq__ ()"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" where "as = [Some er__, Some es__, Some et__, Some eu__, Some ev__, None, Some fk__]" and "ipv6 = IPv6AddrCompressed6_6 er__ es__ et__ eu__ ev__ () fk__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" and g :: "16 word" where "as = [Some ew__, Some ex__, Some ey__, Some ez__, Some fl__, None, Some fm__, Some gf__]" and "ipv6 = IPv6AddrCompressed6_7 ew__ ex__ ey__ ez__ fl__ () fm__ gf__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" where "as = [Some fn__, Some fo__, Some fp__, Some fq__, Some fr__, Some fs__, None]" and "ipv6 = IPv6AddrCompressed7_6 fn__ fo__ fp__ fq__ fr__ fs__ ()"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" and g :: "16 word" where "as = [Some ft__, Some fu__, Some fv__, Some fw__, Some fx__, Some fy__, None, Some gg__]" and "ipv6 = IPv6AddrCompressed7_7 ft__ fu__ fv__ fw__ fx__ fy__ () gg__"   | a :: "16 word" and b :: "16 word" and c :: "16 word" and d :: "16 word" and e :: "16 word" and f :: "16 word" and g :: "16 word" where "as = [Some a, Some b, Some c, Some d, Some e, Some f, Some g, None]" and "ipv6 = IPv6AddrCompressed8_7 a b c d e f g ()"