def reidemeister_presentation(fp_grp, H, elm_rounds=2, simp_rounds=2):
 C = coset_enumeration_r(fp_grp, H)
 C.compress()
 C.standardize()
 define_schreier_generators(C)
 reidemeister_relators(C)
 for i in range(20):
  elimination_technique_1(C)
  simplify_presentation(C)
 C.schreier_generators = tuple(C._schreier_generators)
 C.reidemeister_relators = tuple(C._reidemeister_relators)
 return (C.schreier_generators, C.reidemeister_relators)

def reidemeister_presentation ( fp_grp , H , elm_rounds = 2 , simp_rounds = 2 ) : C = coset_enumeration_r ( fp_grp , H ) C . compress ( ) C . standardize ( ) define_schreier_generators ( C ) reidemeister_relators ( C ) for i in range ( 20 ) : elimination_technique_1 ( C ) simplify_presentation ( C ) C . schreier_generators = tuple ( C . _schreier_generators ) C . reidemeister_relators = tuple ( C . _reidemeister_relators ) return ( C . schreier_generators , C . reidemeister_relators )
fp_group: a finitely presented group .