reduced logic