Proper logic