fact: Fixpoint ugregex_compare (x y: ugregex) := match x,y with | u_prd a, u_prd b | u_var a, u_var b => cmp a b | u_pls x x', u_pls y y' | u_dot x x', u_dot y y' => lex (ugregex_compare x y) (ugregex_compare x' y') | u_itr x, u_itr y => ugregex_compare x y | u_var _, _ => Lt | _, u_var _ => Gt | u_prd _, _ => Lt | _, u_prd _ => Gt | u_itr _ , _ => Lt | _, u_itr _ => Gt | u_pls _ _ , _ => Lt | _, u_pls _ _ => Gt end.
imports: kat lsyntax positives sups glang comparisons boolean