src/ZF/Resid/Cube.ML
changeset 4152 451104c223e2
parent 4091 771b1f6422a8
child 5068 fb28eaa07e01
equal deleted inserted replaced
4151:5c19cd418c33 4152:451104c223e2
    32 qed_spec_mp "prism_l";
    32 qed_spec_mp "prism_l";
    33 
    33 
    34 goal Cube.thy 
    34 goal Cube.thy 
    35     "!!u.[|v <== u; regular(u); w~v|]==> \
    35     "!!u.[|v <== u; regular(u); w~v|]==> \
    36 \       w |> u = (w|>v) |> (u|>v)";
    36 \       w |> u = (w|>v) |> (u|>v)";
    37 by (resolve_tac [prism_l] 1);
    37 by (rtac prism_l 1);
    38 by (rtac comp_trans 4);
    38 by (rtac comp_trans 4);
    39 by (assume_tac 4);
    39 by (assume_tac 4);
    40 by (ALLGOALS(asm_simp_tac prism_ss));
    40 by (ALLGOALS(asm_simp_tac prism_ss));
    41 qed "prism";
    41 qed "prism";
    42 
    42 
    46 (* ------------------------------------------------------------------------- *)
    46 (* ------------------------------------------------------------------------- *)
    47 
    47 
    48 goal Cube.thy 
    48 goal Cube.thy 
    49     "!!u.[|u~v; regular(v); regular(u); w~u|]==>  \
    49     "!!u.[|u~v; regular(v); regular(u); w~u|]==>  \
    50 \          (w|>u) |> (v|>u) = (w|>v) |> (u|>v)";
    50 \          (w|>u) |> (v|>u) = (w|>v) |> (u|>v)";
    51 by (rtac (preservation RS ssubst) 1 
    51 by (stac preservation 1 
    52     THEN assume_tac 1 THEN assume_tac 1);
    52     THEN assume_tac 1 THEN assume_tac 1);
    53 by (rtac (preservation RS ssubst) 1 
    53 by (stac preservation 1 
    54     THEN etac comp_sym 1 THEN assume_tac 1);
    54     THEN etac comp_sym 1 THEN assume_tac 1);
    55 by (stac (prism RS sym) 1);
    55 by (stac (prism RS sym) 1);
    56 by (asm_full_simp_tac (simpset() addsimps 
    56 by (asm_full_simp_tac (simpset() addsimps 
    57 		       [prism RS sym,union_l,union_preserve_regular,
    57 		       [prism RS sym,union_l,union_preserve_regular,
    58 			comp_sym_iff, union_sym]) 4);
    58 			comp_sym_iff, union_sym]) 4);