Do sada smo razmatrali logičke funkcije-iskaze gde su literali bili „logičkog tipa“ odnosno gde je moguća vrednost literala TRUE ili FALSE, a nad njima smo definisali logičke operacije I, ILI, NE, SLEDI, EKVIVALENTNO čime smo definisali „prostor“. Rekli smo da je valuacija iskaza vrednost koja se dobije kada literalima damo konkretne vrednosti, pa smo literale nazivali i parametrima.
Logički iskaz kao mogući rezultat daje TRUE ilI FALSE. Možemo ga posmatrati kao bool funkciju. Parametri tog iskaza-funkcije su u iskaznoj logici literali i mogu biti takođe TRUE ili FALSE a jedine operacije koje možemo da koristimo su I, ILI, NE, SLEDI, EKVIVALENTNO (pogledajte poglavlje „Iskazna algebra“). Međutim, ništa nas ne sprečava da tu našu „strukturu“ proširimo i drugim operacijama i tipovima podataka, pa tako možemo da uvedemo brojevni tip float, operaciju zaokruživanja round koja kao rezultat vraća float, i operacije poređenja == i > koje kao rezultat vraćaju logičku vrednost. Tada i dalje možemo da pišemo logičke formule ali je cela situacija bitno uopštena.
Posmatrajte logički iskaz kao funkciju u programskom jeziku, koja vraća tip bool.
Primer: iskaz F = p ∧ -q možemo da zapišemo kao:
bool f(bool p, q){
return p and not(q);
}
Iskaz F = (x>0) AND (x∈Z) = (x>0) AND ( round(x)-x==0 ) možemo da zapišemo kao:
bool f(float x){
return (x>0) and (round(x)-x == 0);
}