Chengsong [Sat, 29 Jun 2019 12:15:17 +0100] rev 27
footnote
Christian Urban <urbanc@in.tum.de> [Fri, 28 Jun 2019 12:40:58 +0100] rev 26
initial version
Christian Urban <urbanc@in.tum.de> [Wed, 26 Jun 2019 21:40:33 +0100] rev 25
fixed latex bug
Chengsong [Wed, 26 Jun 2019 17:15:48 +0100] rev 24
easy changes, url to misc, author info format changing, mysterious bug on line 49
Chengsong [Wed, 26 Jun 2019 16:08:49 +0100] rev 23
delete data unnecessary
Chengsong [Wed, 26 Jun 2019 16:06:58 +0100] rev 22
now correct
Chengsong [Wed, 26 Jun 2019 12:44:08 +0100] rev 21
added stackexchange url and contact details
Christian Urban <urbanc@in.tum.de> [Tue, 25 Jun 2019 23:59:10 +0100] rev 20
another superflous file
Christian Urban <urbanc@in.tum.de> [Tue, 25 Jun 2019 23:38:02 +0100] rev 19
deleted further generated files (including pdf)
Christian Urban <urbanc@in.tum.de> [Tue, 25 Jun 2019 22:43:21 +0100] rev 18
deleted data-files and further unnecessary parts in data.sty
Chengsong [Tue, 25 Jun 2019 18:56:52 +0100] rev 17
hi
Chengsong [Wed, 08 May 2019 22:09:59 +0100] rev 16
new version of slides
Chengsong [Sun, 05 May 2019 22:02:29 +0100] rev 15
hello
Chengsong [Sat, 13 Apr 2019 16:18:23 +0100] rev 14
the property
retrieve ar v = retrieve (bsimp ar) (decode erase(bsimp(ar)) code(v)) if |- v : r
does not hold
Chengsong [Fri, 12 Apr 2019 19:26:13 +0100] rev 13
test of
retrieve r v = retrieve (bsimp r) (decode bsimp r code v)
Chengsong [Wed, 10 Apr 2019 17:06:24 +0100] rev 12
removed C(c) The retrieve and code in the previous version is still not correct and will crash. no prob now.
Chengsong [Wed, 10 Apr 2019 16:34:34 +0100] rev 11
The C(Char) construct is incompatible with the code and retrieve in Fahad's thesis.
This causes the exception.
Two ways of fixing this: delete C(C) construct (easy way around) or amend retrieve code etc.
since the C(C) construct is intended for decoding Pred, and we don't use pred now, we shall delete this.
This is the last veersion that contains C(CHAR)
Chengsong [Sat, 23 Mar 2019 11:53:09 +0000] rev 10
exp and proof
Chengsong [Fri, 22 Mar 2019 12:53:56 +0000] rev 9
augmented version of proof sketch
Chengsong [Thu, 21 Mar 2019 13:26:07 +0000] rev 8
pf
Chengsong [Sat, 16 Mar 2019 20:05:13 +0000] rev 7
found the difference: caused by flats
in ders_simp, the alts is at top most level , so no fuse and bits stay at the alts level
whereas in ders + singele simp, the alts that should be the final top-level alts is not at the topmost level initially before simplification
so it is opened up and bits fused. later it finds out itself the top level only aalts remaining, but the fuse is not reversible
we do not know what happened either.
Chengsong [Sat, 16 Mar 2019 15:00:43 +0000] rev 6
random test failed
on the new simplification function. ("super_blexing_simp")
Chengsong [Sat, 16 Mar 2019 14:14:42 +0000] rev 5
correctness test with enumeration
Chengsong [Fri, 15 Mar 2019 12:27:12 +0000] rev 4
:test whether bsimp(bders(r, s)) == ders_simp(r,s)
This does not hold. As illustrated by the output of the example where string is abaa and regex is (a* + ab)*
this property still holds when s = aba
but after the derivative of the last character a, the result is negative.
However this seems easily fixable as the difference is relatively small, it might be possible to find where the difference happens
and by taking that difference into accound we have some function f s.t.
f(bsimp(r,s)) = ders_simp(r,s)
and mkeps(f(r)) = mkeps(r)
This will complete the correctness proof.
Even if finding such f is hard, it would still provide insights for the real difference between simp(der(simp(der(simp(der...... and simp(ders
Chengsong [Fri, 15 Mar 2019 10:46:46 +0000] rev 3
removing PRED
why should it still be there after so many rounds of experiments? It should have been removed long ago
since its existence will always make the compiler report errors.
mysterious.:
Chengsong [Wed, 13 Mar 2019 15:27:09 +0000] rev 2
more comments
Chengsong [Wed, 13 Mar 2019 13:33:54 +0000] rev 1
i
Chengsong [Wed, 13 Mar 2019 13:14:38 +0000] rev 0
run
scalac lex_blex_Frankensteined.scala BRexp.scala Element.scala Partial.scala Spiral.scala
then run
scala Spiral
to see the results