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