dynamic computational reasoning