thys2/SizeBound4.thy
changeset 409 f71df68776bb
parent 407 d73b722efe0e
child 411 97f0221add25
equal deleted inserted replaced
408:01d1285b08ed 409:f71df68776bb
  1442   apply(induct r rule: bsimp.induct)
  1442   apply(induct r rule: bsimp.induct)
  1443   apply(auto)
  1443   apply(auto)
  1444   using bsimp_ASEQ_idem apply presburger
  1444   using bsimp_ASEQ_idem apply presburger
  1445   oops
  1445   oops
  1446 
  1446 
       
  1447 lemma neg:
       
  1448   shows " \<not>(\<exists>r2. r1 \<leadsto> r2 \<and>  (r2 \<leadsto>* bsimp r1) )"
       
  1449   apply(rule notI)
       
  1450   apply(erule exE)
       
  1451   apply(erule conjE)
       
  1452   oops
       
  1453 
       
  1454 
       
  1455 
       
  1456 
       
  1457 lemma reduction_always_in_bsimp:
       
  1458   shows " \<lbrakk> r1 \<leadsto> r2 ; \<not>(r2 \<leadsto>* bsimp r1)\<rbrakk> \<Longrightarrow> False"
       
  1459   apply(erule rrewrite.cases)
       
  1460          apply simp
       
  1461         apply auto
       
  1462 
       
  1463   oops
       
  1464 
       
  1465 (*
       
  1466 AALTs [] [AZERO, AALTs(bs1, [a, b]) ] 
       
  1467 rewrite seq 1: \<leadsto> AALTs [] [ AALTs(bs1, [a, b]) ] \<leadsto>
       
  1468 fuse [] (AALTs bs1, [a, b])
       
  1469 rewrite seq 2: \<leadsto> AALTs [] [AZERO, (fuse bs1 a), (fuse bs1 b)]) ]
       
  1470 
       
  1471 *)
       
  1472 
       
  1473 lemma normal_bsimp: 
       
  1474   shows "\<nexists>r'. bsimp r \<leadsto> r'"
       
  1475   oops
       
  1476 
       
  1477   (*r' size bsimp r > size r' 
       
  1478     r' \<leadsto>* bsimp bsimp r
       
  1479 size bsimp r > size r' \<ge> size bsimp bsimp r*)
       
  1480 
  1447 export_code blexer_simp blexer lexer bders bders_simp in Scala module_name VerifiedLexers
  1481 export_code blexer_simp blexer lexer bders bders_simp in Scala module_name VerifiedLexers
  1448 
  1482 
  1449 
  1483 
  1450 unused_thms
  1484 unused_thms
  1451 
  1485