equal
deleted
inserted
replaced
763 member (op =) (filter (null o binder_types o fastype_of) ctrs) (the rhs_opt) then |
763 member (op =) (filter (null o binder_types o fastype_of) ctrs) (the rhs_opt) then |
764 dissect_coeqn_disc lthy fun_names sequentials basic_ctr_specss eqn_pos NONE NONE prems concl |
764 dissect_coeqn_disc lthy fun_names sequentials basic_ctr_specss eqn_pos NONE NONE prems concl |
765 matchedsss |
765 matchedsss |
766 |>> single |
766 |>> single |
767 else if member (op =) sels head then |
767 else if member (op =) sels head then |
768 ([dissect_coeqn_sel lthy fun_names basic_ctr_specss eqn_pos NONE NONE eqn0 of_spec_opt concl], |
768 (null prems orelse |
769 matchedsss) |
769 primcorec_error_eqn "premise(s) in selector formula" eqn; |
|
770 ([dissect_coeqn_sel lthy fun_names basic_ctr_specss eqn_pos NONE NONE eqn0 of_spec_opt |
|
771 concl], matchedsss)) |
770 else if is_some rhs_opt andalso |
772 else if is_some rhs_opt andalso |
771 is_Free head andalso member (op =) fun_names (fst (dest_Free head)) then |
773 is_Free head andalso member (op =) fun_names (fst (dest_Free head)) then |
772 if member (op =) ctrs (head_of (unfold_lets_splits (the rhs_opt))) then |
774 if member (op =) ctrs (head_of (unfold_lets_splits (the rhs_opt))) then |
773 dissect_coeqn_ctr lthy fun_names sequentials basic_ctr_specss eqn_pos eqn0 |
775 dissect_coeqn_ctr lthy fun_names sequentials basic_ctr_specss eqn_pos eqn0 |
774 (if null prems then |
776 (if null prems then |