fact: Definition find_sym th1 th2 := let: (ri, rj) := th_bbox th2 in let si := iota 0 ri in let sj := iota 0 rj in if find_sym_k th1 th2 si sj is Some _ as s then s else let fix loop m := if m is i.+1 then let fix inner_loop m' := if m' is i'.+1 then let si' := (set_nth 0 (set_nth 0 si i i') i' i)%N in if find_sym_k th1 th2 si' sj is Some _ as s then s else inner_loop i' else None in if inner_loop i is Some _ as s then s else loop i else None in loop ri.
imports: mathcomp.ssreflect.ssreflect mathcomp(ssrbool ssrfun eqtype ssrnat seq path div choice fintype) mathcomp(tuple finfun bigop order prime ssralg matrix poly finset) mathcomp(fingroup morphism perm automorphism quotient action finalg zmodp) mathcomp(gfunctor center gproduct cyclic pgroup abelian frobenius) mathcomp(mxalgebra mxrepresentation vector falgebra fieldext galois) mathcomp(ssrnum rat algC algnum classfun character) mathcomp(integral_char inertia vcharacter) odd_order(PFsection1 PFsection2)