fact: Fixpoint hat n m (e: gregex n m): guards n m := match e with | g_zer _ _ _ => [] | g_prd _ _ p => g_prd' _ p | g_pls e f => hat e ⊔ hat f | g_dot e f => g_dot' (hat e) (hat f) | g_itr e => g_dot' (hat e) (g_str' (hat e)) | g_var i => g_var' i end.
imports: Coq.PArith.BinPosDef denum lset sums normalisation kat ka_completeness untyping regex gregex lsyntax syntax lang glang boolean atoms