============== Es. 2, 15/09/2017 ================ L ::= [] | B::L B ::= tt | ff f([]) = 0 f(B::L) = max(f(L), h(B,L)) % h(B,L) รจ la lunghezza della sottosequenza iniziale di L % fatta da caratteri B, + 1 h(B, []) = 1 h(B, B'::L) = if B = B' then h(B, L) + 1 else 1 Test: f(tt :: tt :: tt :: ff :: ff :: []) --> max(f(tt :: tt :: ff :: ff :: []), h(tt, tt :: tt :: ff :: ff :: [])) h(tt, tt :: tt :: ff :: ff :: []) --> h(tt, tt :: ff :: ff :: []) + 1 --> h(tt, ff :: ff :: []) + 1 + 1 --> 1 + 1 + 1 --> 3 ... --> max(f(tt :: tt :: ff :: ff :: []), 3)