On Thursday, June 30, 2016 at 5:10:41 AM UTC+5:30, Steven D'Aprano wrote: > On Wed, 29 Jun 2016 11:30 pm, Rustom Mody wrote: > > > The other answers -- graphs and automata -- are questionable and/or wrong > > > > You may wish to think about them again? > > You may wish to justify your assertion.
> Rusi wrote > > Please show me how we would define __bool__ for > > > > 1. Graphs -- the kind mathematicians define with "Let G =(V,E) be a > > graph..." > I would make the empty graph (zero nodes) falsey, and non-empty graphs (one > or more nodes) truthy. > 2. Automata which in a way are special kinds of graphs As above. From https://en.wikipedia.org/wiki/Finite-state_machine#Mathematical_model A deterministic finite state machine (acceptor) is a quintuple (Σ, S, δ, s₀, F), where: Σ is the input alphabet (a finite, non-empty set of symbols). S is a finite, non-empty set of states. δ is the state-transition function: δ : S × Σ → S s₀ is an initial state, an element of S. F is the set of final states, a (possibly empty) subset of S. Put in more succinct form: If we take Σ (alphabet) and S (state-set) as given (ie independent) types we can specify the dependence of s₀ δ and F as the following type_signature: dfa(Σ, S) = s₀ : S δ : S × Σ → S F : ℘ S Since s₀ : S is part of the dfa spec, S cant be empty Can Σ (alphabet) be empty?? I'm not clear on that one... -- https://mail.python.org/mailman/listinfo/python-list