property substitution defined